3 namespace Drupal\Tests\language\Kernel\Migrate\d6;
5 use Drupal\language\Entity\ContentLanguageSettings;
6 use Drupal\Core\Language\LanguageInterface;
7 use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase;
10 * Tests migration of i18ntaxonomy vocabulary settings.
12 * @group migrate_drupal_6
14 class MigrateLanguageContentTaxonomyVocabularySettingsTest extends MigrateDrupal6TestBase {
19 public static $modules = [
21 'content_translation',
28 protected function setUp() {
30 $this->installEntitySchema('taxonomy_term');
31 $this->executeMigrations([
33 'd6_taxonomy_vocabulary',
34 'd6_language_content_taxonomy_vocabulary_settings',
39 * Tests migration of 18ntaxonomy vocabulary settings.
41 public function testLanguageContentTaxonomy() {
42 $target_entity = 'taxonomy_term';
44 $this->assertLanguageContentSettings($target_entity, 'vocabulary_1_i_0_', LanguageInterface::LANGCODE_SITE_DEFAULT, TRUE, ['enabled' => FALSE]);
45 // Set language to vocabulary.
46 $this->assertLanguageContentSettings($target_entity, 'vocabulary_2_i_1_', 'fr', FALSE, ['enabled' => FALSE]);
48 $this->assertLanguageContentSettings($target_entity, 'vocabulary_3_i_2_', LanguageInterface::LANGCODE_SITE_DEFAULT, TRUE, ['enabled' => FALSE]);
49 // None translation enabled.
50 $this->assertLanguageContentSettings($target_entity, 'vocabulary_name_much_longer_than', LanguageInterface::LANGCODE_SITE_DEFAULT, TRUE, ['enabled' => TRUE]);
51 $this->assertLanguageContentSettings($target_entity, 'tags', LanguageInterface::LANGCODE_SITE_DEFAULT, FALSE, ['enabled' => FALSE]);
52 $this->assertLanguageContentSettings($target_entity, 'forums', LanguageInterface::LANGCODE_SITE_DEFAULT, FALSE, ['enabled' => FALSE]);
53 $this->assertLanguageContentSettings($target_entity, 'type', LanguageInterface::LANGCODE_SITE_DEFAULT, FALSE, ['enabled' => FALSE]);
57 * Asserts a content language settings configuration.
59 * @param string $target_entity
60 * The expected target entity type.
61 * @param string $bundle
62 * The expected bundle.
63 * @param string $default_langcode
64 * The default language code.
65 * @param bool $language_alterable
66 * The expected state of language alterable.
67 * @param array $third_party_settings
68 * The content translation setting.
70 public function assertLanguageContentSettings($target_entity, $bundle, $default_langcode, $language_alterable, array $third_party_settings) {
71 $config = ContentLanguageSettings::load($target_entity . "." . $bundle);
72 $this->assertInstanceOf(ContentLanguageSettings::class, $config);
73 $this->assertSame($target_entity, $config->getTargetEntityTypeId());
74 $this->assertSame($bundle, $config->getTargetBundle());
75 $this->assertSame($default_langcode, $config->getDefaultLangcode());
76 $this->assertSame($language_alterable, $config->isLanguageAlterable());
77 $this->assertSame($third_party_settings, $config->getThirdPartySettings('content_translation'));