3 namespace Drupal\Tests\views\Kernel\Plugin;
5 use Drupal\node\Entity\Node;
6 use Drupal\node\Entity\NodeType;
7 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
8 use Drupal\views\Views;
11 * Tests the loading of entities and entity revisions.
15 * @see \Drupal\views\Plugin\views\query\Sql
17 class SqlEntityLoadingTest extends ViewsKernelTestBase {
22 public static $modules = ['node', 'user'];
27 public static $testViews = ['base_and_revision'];
32 protected function setUp($import_test_views = TRUE) {
33 parent::setUp($import_test_views);
35 $this->installEntitySchema('node');
36 $this->installEntitySchema('user');
37 $this->installSchema('node', 'node_access');
40 public function testViewWithNonDefaultPendingRevision() {
41 $node_type = NodeType::create([
46 $node = Node::create([
48 'title' => 'test title',
52 // Creates the first revision, which is set as default.
53 $revision = clone $node;
54 $revision->setNewRevision(TRUE);
55 $revision->isDefaultRevision(TRUE);
58 // Creates the second revision, which is not set as default.
59 $revision2 = clone $node;
60 $revision2->setNewRevision(TRUE);
61 $revision2->isDefaultRevision(FALSE);
64 $view = Views::getView('base_and_revision');
70 // The default revision ID.
71 'vid_1' => $revision->getRevisionId(),
72 // The latest revision ID.
73 'vid' => $revision2->getRevisionId(),
76 $this->assertIdenticalResultset($view, $expected, [
77 'node_field_data_node_field_revision_nid' => 'nid',