Further Drupal 8.6.4 changes. Some core files were not committed before a commit...
[yaffs-website] / web / core / modules / node / tests / src / Kernel / Views / RevisionRelationshipsTest.php
index e47bdd038b328123265d29007e4625ef59646b31..b21610c5fde7d9438ffe21ecfd95bf58550d891c 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\node\Kernel\Views;
 
+use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\node\Entity\Node;
 use Drupal\node\Entity\NodeType;
 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
@@ -20,7 +21,12 @@ class RevisionRelationshipsTest extends ViewsKernelTestBase {
    *
    * @var array
    */
-  public static $modules = ['node' , 'node_test_views'];
+  public static $modules = [
+    'node',
+    'node_test_views',
+    'language',
+    'content_translation',
+  ];
 
   /**
    * {@inheritdoc}
@@ -33,6 +39,8 @@ class RevisionRelationshipsTest extends ViewsKernelTestBase {
     $this->installEntitySchema('user');
     $this->installEntitySchema('node');
 
+    ConfigurableLanguage::createFromLangcode('fr')->save();
+
     ViewTestData::createTestViews(get_class($this), ['node_test_views']);
   }
 
@@ -51,16 +59,22 @@ class RevisionRelationshipsTest extends ViewsKernelTestBase {
     $type->save();
     $node = Node::create(['type' => 'page', 'title' => 'test', 'uid' => 1]);
     $node->save();
+
+    // Add a translation.
+    $translation = $node->addTranslation('fr', $node->toArray());
+    $translation->save();
     // Create revision of the node.
     $node->setNewRevision(TRUE);
     $node->save();
+
     $column_map = [
       'vid' => 'vid',
       'node_field_data_node_field_revision_nid' => 'node_node_revision_nid',
       'nid_1' => 'nid_1',
+      'node_field_revision_langcode' => 'node_field_revision_langcode',
     ];
 
-    // Here should be two rows.
+    // Here should be two rows for each translation.
     $view_nid = Views::getView('test_node_revision_nid');
     $this->executeView($view_nid, [$node->id()]);
     $resultset_nid = [
@@ -68,17 +82,32 @@ class RevisionRelationshipsTest extends ViewsKernelTestBase {
         'vid' => '1',
         'node_node_revision_nid' => '1',
         'nid_1' => '1',
+        'node_field_revision_langcode' => 'fr',
+      ],
+      [
+        'vid' => '1',
+        'node_node_revision_nid' => '1',
+        'nid_1' => '1',
+        'node_field_revision_langcode' => 'en',
       ],
       [
         'vid' => '2',
         'node_revision_nid' => '1',
         'node_node_revision_nid' => '1',
         'nid_1' => '1',
+        'node_field_revision_langcode' => 'fr',
+      ],
+      [
+        'vid' => '2',
+        'node_revision_nid' => '1',
+        'node_node_revision_nid' => '1',
+        'nid_1' => '1',
+        'node_field_revision_langcode' => 'en',
       ],
     ];
     $this->assertIdenticalResultset($view_nid, $resultset_nid, $column_map);
 
-    // There should be only one row with active revision 2.
+    // There should be one row with active revision 2 for each translation.
     $view_vid = Views::getView('test_node_revision_vid');
     $this->executeView($view_vid, [$node->id()]);
     $resultset_vid = [
@@ -86,6 +115,13 @@ class RevisionRelationshipsTest extends ViewsKernelTestBase {
         'vid' => '2',
         'node_node_revision_nid' => '1',
         'nid_1' => '1',
+        'node_field_revision_langcode' => 'en',
+      ],
+      [
+        'vid' => '2',
+        'node_node_revision_nid' => '1',
+        'nid_1' => '1',
+        'node_field_revision_langcode' => 'fr',
       ],
     ];
     $this->assertIdenticalResultset($view_vid, $resultset_vid, $column_map);