You are here

public function SqlEntityLoadingTest::testViewWithNonDefaultPendingRevision in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php \Drupal\Tests\views\Kernel\Plugin\SqlEntityLoadingTest::testViewWithNonDefaultPendingRevision()
  2. 10 core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php \Drupal\Tests\views\Kernel\Plugin\SqlEntityLoadingTest::testViewWithNonDefaultPendingRevision()

File

core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php, line 40

Class

SqlEntityLoadingTest
Tests the loading of entities and entity revisions.

Namespace

Drupal\Tests\views\Kernel\Plugin

Code

public function testViewWithNonDefaultPendingRevision() {
  $node_type = NodeType::create([
    'type' => 'page',
  ]);
  $node_type
    ->save();
  $node = Node::create([
    'type' => 'page',
    'title' => 'test title',
  ]);
  $node
    ->save();

  // Creates the first revision, which is set as default.
  $revision = clone $node;
  $revision
    ->setNewRevision(TRUE);
  $revision
    ->isDefaultRevision(TRUE);
  $revision
    ->save();

  // Creates the second revision, which is not set as default.
  $revision2 = clone $node;
  $revision2
    ->setNewRevision(TRUE);
  $revision2
    ->isDefaultRevision(FALSE);
  $revision2
    ->save();
  $view = Views::getView('base_and_revision');
  $view
    ->execute();
  $expected = [
    [
      'nid' => $node
        ->id(),
      // The default revision ID.
      'vid_1' => $revision
        ->getRevisionId(),
      // The latest revision ID.
      'vid' => $revision2
        ->getRevisionId(),
    ],
  ];
  $this
    ->assertIdenticalResultset($view, $expected, [
    'node_field_data_node_field_revision_nid' => 'nid',
    'vid_1' => 'vid_1',
    'vid' => 'vid',
  ]);
}