3a07698d322c9134b1bb8eef78b09cb3d0e7dc89
[yaffs-website] / web / core / modules / language / tests / src / Kernel / Migrate / d7 / MigrateLanguageContentSettingsTest.php
1 <?php
2
3 namespace Drupal\Tests\language\Kernel\Migrate\d7;
4
5 use Drupal\language\Entity\ContentLanguageSettings;
6 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
7
8 /**
9  * Tests migration of language content setting variables,
10  * language_content_type_$type, i18n_node_options_* and i18n_lock_node_*.
11  *
12  * @group migrate_drupal_7
13  */
14 class MigrateLanguageContentSettingsTest extends MigrateDrupal7TestBase {
15
16   /**
17    * {@inheritdoc}
18    */
19   public static $modules = ['node', 'text', 'language', 'content_translation', 'menu_ui'];
20
21   /**
22    * {@inheritdoc}
23    */
24   protected function setUp() {
25     parent::setUp();
26
27     $this->installConfig(['node']);
28     $this->installEntitySchema('node');
29     $this->executeMigrations(['d7_node_type', 'd7_language_content_settings']);
30   }
31
32   /**
33    * Tests migration of content language settings.
34    */
35   public function testLanguageContent() {
36     // Assert that a translatable content is still translatable.
37     $config = $this->config('language.content_settings.node.blog');
38     $this->assertSame($config->get('target_entity_type_id'), 'node');
39     $this->assertSame($config->get('target_bundle'), 'blog');
40     $this->assertSame($config->get('default_langcode'), 'current_interface');
41     $this->assertFalse($config->get('language_alterable'));
42     $this->assertTrue($config->get('third_party_settings.content_translation.enabled'));
43
44     // Assert that a non-translatable content is not translatable.
45     $config = ContentLanguageSettings::loadByEntityTypeBundle('node', 'page');
46     $this->assertTrue($config->isDefaultConfiguration());
47     $this->assertFalse($config->isLanguageAlterable());
48     $this->assertSame($config->getDefaultLangcode(), 'site_default');
49
50     // Make sure there's no migration exceptions.
51     $messages = $this->migration->getIdMap()->getMessageIterator()->fetchAll();
52     $this->assertEmpty($messages);
53
54     // Assert that a content type translatable with entity_translation is still
55     // translatable.
56     $config = $this->config('language.content_settings.node.test_content_type');
57     $this->assertTrue($config->get('third_party_settings.content_translation.enabled'));
58     $this->assertSame($config->get('default_langcode'), 'und');
59
60     // Assert that a content type without a 'language_content_type' variable is
61     // not translatable
62     $config = ContentLanguageSettings::loadByEntityTypeBundle('node', 'book');
63     $this->assertTrue($config->isDefaultConfiguration());
64     $this->assertFalse($config->isLanguageAlterable());
65     $this->assertSame($config->getDefaultLangcode(), 'site_default');
66
67   }
68
69 }