MigrateFieldOptionTranslationTest.php

Same filename in this branch
  1. 11.x core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldOptionTranslationTest.php
Same filename and directory in other branches
  1. 9 core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldOptionTranslationTest.php
  2. 9 core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php
  3. 8.9.x core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldOptionTranslationTest.php
  4. 8.9.x core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php
  5. 10 core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldOptionTranslationTest.php
  6. 10 core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php

Namespace

Drupal\Tests\field\Kernel\Migrate\d7

File

core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\field\Kernel\Migrate\d7;

use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;

/**
 * Migrate field option translations.
 *
 * @group migrate_drupal_7
 */
class MigrateFieldOptionTranslationTest extends MigrateDrupal7TestBase {
  
  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'comment',
    'config_translation',
    'datetime',
    'datetime_range',
    'file',
    'image',
    'language',
    'link',
    'locale',
    'menu_ui',
    'node',
    'system',
    'taxonomy',
    'telephone',
    'text',
  ];
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->executeMigrations([
      'language',
      'd7_field',
      'd7_field_option_translation',
    ]);
  }
  
  /**
   * Tests the Drupal 7 field option translation to Drupal 8 migration.
   */
  public function testFieldOptionTranslation() : void {
    $language_manager = $this->container
      ->get('language_manager');
    /** @var \Drupal\language\Config\LanguageConfigOverride $config_translation */
    $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.storage.node.field_color');
    $allowed_values = [
      0 => [
        'label' => 'Verte',
      ],
      1 => [
        'label' => 'Noire',
      ],
      2 => [
        'label' => 'Blanche',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.storage.node.field_color');
    $allowed_values = [
      0 => [
        'label' => 'Grænn',
      ],
      1 => [
        'label' => 'Svartur',
      ],
      2 => [
        'label' => 'Hvítur',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.storage.node.field_rating');
    $allowed_values = [
      0 => [
        'label' => 'Haute',
      ],
      1 => [
        'label' => 'Moyenne',
      ],
      2 => [
        'label' => 'Faible',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.storage.node.field_rating');
    $allowed_values = [
      0 => [
        'label' => 'Hár',
      ],
      1 => [
        'label' => 'Miðlungs',
      ],
      2 => [
        'label' => 'Lágt',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.storage.node.field_boolean');
    $this->assertNull($config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.storage.node.field_boolean');
    $allowed_values = [
      0 => [
        0 => 'Off',
        1 => '1',
      ],
      1 => [
        0 => 'Off',
        1 => '1',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.storage.node.field_checkbox');
    $allowed_values = [
      0 => [
        0 => 'Stop',
        1 => 'Go',
      ],
      1 => [
        0 => 'Stop',
        1 => 'Go',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.storage.node.field_checkbox');
    $allowed_values = [
      0 => [
        0 => 'Stop',
        1 => 'Go',
      ],
      1 => [
        0 => 'Stop',
        1 => 'Go',
      ],
    ];
    $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
    // Ensure that the count query works as expected.
    $this->assertCount(20, $this->getMigration('d7_field_option_translation')
      ->getSourcePlugin());
  }

}

Classes

Title Deprecated Summary
MigrateFieldOptionTranslationTest Migrate field option translations.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.