function FieldImportCreateTest::testImportCreateDefault in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/field/src/Tests/FieldImportCreateTest.php \Drupal\field\Tests\FieldImportCreateTest::testImportCreateDefault()
Tests creating field storages and fields during default config import.
File
- core/
modules/ field/ src/ Tests/ FieldImportCreateTest.php, line 24 - Contains \Drupal\field\Tests\FieldImportCreateTest.
Class
- FieldImportCreateTest
- Create field storages and fields during config create method invocation.
Namespace
Drupal\field\TestsCode
function testImportCreateDefault() {
$field_name = 'field_test_import';
$field_storage_id = "entity_test.{$field_name}";
$field_id = "entity_test.entity_test.{$field_name}";
$field_name_2 = 'field_test_import_2';
$field_storage_id_2 = "entity_test.{$field_name_2}";
$field_id_2a = "entity_test.entity_test.{$field_name_2}";
$field_id_2b = "entity_test.test_bundle.{$field_name_2}";
// Check that the field storages and fields do not exist yet.
$this
->assertFalse(FieldStorageConfig::load($field_storage_id));
$this
->assertFalse(FieldConfig::load($field_id));
$this
->assertFalse(FieldStorageConfig::load($field_storage_id_2));
$this
->assertFalse(FieldConfig::load($field_id_2a));
$this
->assertFalse(FieldConfig::load($field_id_2b));
// Create a second bundle for the 'Entity test' entity type.
entity_test_create_bundle('test_bundle');
// Enable field_test_config module and check that the field and storage
// shipped in the module's default config were created.
\Drupal::service('module_installer')
->install(array(
'field_test_config',
));
// A field storage with one single field.
$field_storage = FieldStorageConfig::load($field_storage_id);
$this
->assertTrue($field_storage, 'The field was created.');
$field = FieldConfig::load($field_id);
$this
->assertTrue($field, 'The field was deleted.');
// A field storage with two fields.
$field_storage_2 = FieldStorageConfig::load($field_storage_id_2);
$this
->assertTrue($field_storage_2, 'The second field was created.');
$this
->assertTrue($field
->getTargetBundle(), 'test_bundle', 'The second field was created on bundle test_bundle.');
$this
->assertTrue($field
->getTargetBundle(), 'test_bundle_2', 'The second field was created on bundle test_bundle_2.');
// Tests fields.
$ids = \Drupal::entityQuery('field_config')
->condition('entity_type', 'entity_test')
->condition('bundle', 'entity_test')
->execute();
$this
->assertEqual(count($ids), 2);
$this
->assertTrue(isset($ids['entity_test.entity_test.field_test_import']));
$this
->assertTrue(isset($ids['entity_test.entity_test.field_test_import_2']));
$ids = \Drupal::entityQuery('field_config')
->condition('entity_type', 'entity_test')
->condition('bundle', 'test_bundle')
->execute();
$this
->assertEqual(count($ids), 1);
$this
->assertTrue(isset($ids['entity_test.test_bundle.field_test_import_2']));
}