function ConfigTest::testLanguageImport

Same name in other branches
  1. 9 core/modules/migrate/tests/src/Unit/destination/ConfigTest.php \Drupal\Tests\migrate\Unit\destination\ConfigTest::testLanguageImport()
  2. 10 core/modules/migrate/tests/src/Unit/destination/ConfigTest.php \Drupal\Tests\migrate\Unit\destination\ConfigTest::testLanguageImport()
  3. 11.x core/modules/migrate/tests/src/Unit/destination/ConfigTest.php \Drupal\Tests\migrate\Unit\destination\ConfigTest::testLanguageImport()

Test the import method.

File

core/modules/migrate/tests/src/Unit/destination/ConfigTest.php, line 65

Class

ConfigTest
@coversDefaultClass \Drupal\migrate\Plugin\migrate\destination\Config @group migrate

Namespace

Drupal\Tests\migrate\Unit\destination

Code

public function testLanguageImport() {
    $source = [
        'langcode' => 'mi',
    ];
    $migration = $this->getMockBuilder(MigrationInterface::class)
        ->disableOriginalConstructor()
        ->getMock();
    $config = $this->getMockBuilder('Drupal\\Core\\Config\\Config')
        ->disableOriginalConstructor()
        ->getMock();
    foreach ($source as $key => $val) {
        $config->expects($this->once())
            ->method('set')
            ->with($this->equalTo($key), $this->equalTo($val))
            ->will($this->returnValue($config));
    }
    $config->expects($this->once())
        ->method('save');
    $config->expects($this->any())
        ->method('getName')
        ->willReturn('d8_config');
    $config_factory = $this->createMock('Drupal\\Core\\Config\\ConfigFactoryInterface');
    $config_factory->expects($this->once())
        ->method('getEditable')
        ->with('d8_config')
        ->will($this->returnValue($config));
    $row = $this->getMockBuilder('Drupal\\migrate\\Row')
        ->disableOriginalConstructor()
        ->getMock();
    $row->expects($this->any())
        ->method('getRawDestination')
        ->will($this->returnValue($source));
    $row->expects($this->any())
        ->method('getDestinationProperty')
        ->will($this->returnValue($source['langcode']));
    $language_manager = $this->getMockBuilder('Drupal\\language\\ConfigurableLanguageManagerInterface')
        ->disableOriginalConstructor()
        ->getMock();
    $language_manager->expects($this->any())
        ->method('getLanguageConfigOverride')
        ->with('mi', 'd8_config')
        ->will($this->returnValue($config));
    $destination = new Config([
        'config_name' => 'd8_config',
        'translations' => 'true',
    ], 'd8_config', [
        'pluginId' => 'd8_config',
    ], $migration, $config_factory, $language_manager);
    $destination_id = $destination->import($row);
    $this->assertEquals($destination_id, [
        'd8_config',
        'mi',
    ]);
}

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