Newer
Older
Alex Pott
committed
<?php
/**
* @file
* Contains \Drupal\field\Tests\FieldImportChangeTest.
*/
namespace Drupal\field\Tests;
use Drupal\field\Entity\FieldConfig;
Alex Pott
committed
/**
* Update field storage and fields during config change method invocation.
*
* @group field
Alex Pott
committed
*/
class FieldImportChangeTest extends FieldUnitTestBase {
/**
* Modules to enable.
*
* The default configuration provided by field_test_config is imported by
* \Drupal\field\Tests\FieldUnitTestBase::setUp() when it installs field
* configuration.
*
Alex Pott
committed
* @var array
*/
public static $modules = array('field_test_config');
/**
* Tests importing an updated field.
Alex Pott
committed
*/
function testImportChange() {
$this->installConfig(['field_test_config']);
$field_storage_id = 'field_test_import';
$field_id = "entity_test.entity_test.$field_storage_id";
$field_config_name = "field.field.$field_id";
Alex Pott
committed
$active = $this->container->get('config.storage');
$sync = $this->container->get('config.storage.sync');
$this->copyConfig($active, $sync);
// Save as files in the sync directory.
$field = $active->read($field_config_name);
Alex Pott
committed
$new_label = 'Test update import field';
$field['label'] = $new_label;
$sync->write($field_config_name, $field);
Alex Pott
committed
// Import the content of the sync directory.
$this->configImporter()->import();
Alex Pott
committed
// Check that the updated config was correctly imported.
$field = FieldConfig::load($field_id);
$this->assertEqual($field->getLabel(), $new_label, 'field label updated');
Alex Pott
committed
}
}