diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldImportCreateTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldImportCreateTest.php index a097c82..0dbc15a 100644 --- a/core/modules/field/lib/Drupal/field/Tests/FieldImportCreateTest.php +++ b/core/modules/field/lib/Drupal/field/Tests/FieldImportCreateTest.php @@ -32,9 +32,12 @@ function testImportCreateDefault() { $instance_id_2a = "test_entity.test_bundle.$field_id_2"; $instance_id_2b = "test_entity.test_bundle_2.$field_id_2"; - // Check that the field and instance do not exist yet. + // Check that the fields and instances do not exist yet. $this->assertFalse(entity_load('field_entity', $field_id)); $this->assertFalse(entity_load('field_instance', $instance_id)); + $this->assertFalse(entity_load('field_entity', $field_id_2)); + $this->assertFalse(entity_load('field_instance', $instance_id_2a)); + $this->assertFalse(entity_load('field_instance', $instance_id_2b)); // Create a second bundle for the 'Entity test' entity type. entity_test_create_bundle('test_bundle_2'); @@ -50,8 +53,8 @@ function testImportCreateDefault() { $this->assertTrue($instance, 'The field instance was created.'); // A field with multiple instances. - $field_2 = entity_load('field_entity', $field_id); - $this->assertTrue($field, 'The second field was created.'); + $field_2 = entity_load('field_entity', $field_id_2); + $this->assertTrue($field_2, 'The second field was created.'); $instance_2a = entity_load('field_instance', $instance_id_2a); $this->assertTrue($instance->bundle, 'test_bundle', 'The second field instance was created on bundle test_bundle.'); $instance_2b = entity_load('field_instance', $instance_id_2b); @@ -70,24 +73,39 @@ function testImportCreateDefault() { * Tests creating fields and instances during config import. */ function testImportCreate() { + // One field with one field instance. $field_id = 'field_test_import_staging'; $instance_id = "test_entity.test_bundle.$field_id"; $field_config_name = "field.field.$field_id"; $instance_config_name = "field.instance.$instance_id"; + // One field with two field instances. + $field_id_2 = 'field_test_import_2_staging'; + $instance_id_2a = "test_entity.test_bundle.$field_id_2"; + $instance_id_2b = "test_entity.test_bundle_2.$field_id_2"; + $field_2_config_name = "field.field.$field_id_2"; + $instance_2a_config_name = "field.instance.$instance_id_2a"; + $instance_2b_config_name = "field.instance.$instance_id_2b"; + // Simulate config data to import: $src_dir = drupal_get_path('module', 'field_test_config') . '/staging'; $this->assertTrue(file_unmanaged_copy("$src_dir/$field_config_name.yml", "public://config_staging/$field_config_name.yml")); $this->assertTrue(file_unmanaged_copy("$src_dir/$instance_config_name.yml", "public://config_staging/$instance_config_name.yml")); + $this->assertTrue(file_unmanaged_copy("$src_dir/$field_2_config_name.yml", "public://config_staging/$field_2_config_name.yml")); + $this->assertTrue(file_unmanaged_copy("$src_dir/$instance_2a_config_name.yml", "public://config_staging/$instance_2a_config_name.yml")); + $this->assertTrue(file_unmanaged_copy("$src_dir/$instance_2b_config_name.yml", "public://config_staging/$instance_2b_config_name.yml")); - // Add the coresponding entries to the current manifest data. + // Add the corresponding entries to the current manifest data. $field_manifest_name = 'manifest.field.field'; $instance_manifest_name = 'manifest.field.instance'; $active = $this->container->get('config.storage'); $field_manifest = $active->read($field_manifest_name); $field_manifest[$field_id] = array('name' => $field_config_name); + $field_manifest[$field_id_2] = array('name' => $field_2_config_name); $instance_manifest = $active->read($instance_manifest_name); $instance_manifest[$instance_id] = array('name' => $instance_config_name); + $instance_manifest[$instance_id_2a] = array('name' => $instance_2a_config_name); + $instance_manifest[$instance_id_2b] = array('name' => $instance_2b_config_name); // Save the manifests as files in the the staging directory. $staging = $this->container->get('config.storage.staging'); @@ -102,6 +120,12 @@ function testImportCreate() { $this->assertTrue($field, 'Test import field from staging exists'); $instance = entity_load('field_instance', $instance_id); $this->assertTrue($instance, 'Test import field instance from staging exists'); + $field = entity_load('field_entity', $field_id_2); + $this->assertTrue($field, 'Test import field from staging exists'); + $instance = entity_load('field_instance', $instance_id_2a); + $this->assertTrue($instance, 'Test import field instance from staging exists'); + $instance = entity_load('field_instance', $instance_id_2b); + $this->assertTrue($instance, 'Test import field instance from staging exists'); } } diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldImportDeleteTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldImportDeleteTest.php index 538c2f9..a22f86c 100644 --- a/core/modules/field/lib/Drupal/field/Tests/FieldImportDeleteTest.php +++ b/core/modules/field/lib/Drupal/field/Tests/FieldImportDeleteTest.php @@ -34,10 +34,10 @@ function testImportDelete() { $field_id = 'field_test_import'; $field_id_2 = 'field_test_import_2'; $instance_id = "test_entity.test_bundle.$field_id"; - $instance_id_2a = "test_entity.test_bundle.$field_id"; - $instance_id_2b = "test_entity.test_bundle.$field_id_2"; + $instance_id_2a = "test_entity.test_bundle.$field_id_2"; + $instance_id_2b = "test_entity.test_bundle_2.$field_id_2"; $field_config_name = "field.field.$field_id"; - $field_config_name_2 = "field.field.$field_id"; + $field_config_name_2 = "field.field.$field_id_2"; $instance_config_name = "field.instance.$instance_id"; $instance_config_name_2a = "field.instance.$instance_id_2a"; $instance_config_name_2b = "field.instance.$instance_id_2b"; @@ -50,7 +50,7 @@ function testImportDelete() { // Get the uuid's for the fields. $field_uuid = entity_load('field_entity', $field_id)->uuid(); - $field_uuid_2 = entity_load('field_entity', $field_id)->uuid(); + $field_uuid_2 = entity_load('field_entity', $field_id_2)->uuid(); // Simulate config data to import: // - the current manifest for fields, without the entry for the field we diff --git a/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import.yml b/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import.yml index faa8954..f472164 100644 --- a/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import.yml @@ -4,13 +4,13 @@ type: text settings: max_length: '255' module: text -active: 1 +active: '1' entity_types: { } storage: type: field_sql_storage settings: { } module: field_sql_storage - active: 1 + active: '1' locked: '0' cardinality: '1' translatable: false diff --git a/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import_2.yml b/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import_2.yml index 4930471..4d508a9 100644 --- a/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import_2.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.field.field_test_import_2.yml @@ -4,13 +4,13 @@ type: text settings: max_length: '255' module: text -active: 1 +active: '1' entity_types: { } storage: type: field_sql_storage settings: { } module: field_sql_storage - active: 1 + active: '1' locked: '0' cardinality: '1' translatable: false diff --git a/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import.yml b/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import.yml index 4817a77..8a5773d 100644 --- a/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import.yml @@ -5,7 +5,7 @@ entity_type: test_entity bundle: test_bundle label: 'Test import field' description: '' -required: 0 +required: '0' default_value: { } default_value_function: '' settings: diff --git a/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import_2.yml b/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import_2.yml index d9315ee..c91f72b 100644 --- a/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import_2.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle.field_test_import_2.yml @@ -5,7 +5,7 @@ entity_type: test_entity bundle: test_bundle label: 'Test import field 2 on test bundle' description: '' -required: 0 +required: '0' default_value: { } default_value_function: '' settings: diff --git a/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle_2.field_test_import_2.yml b/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle_2.field_test_import_2.yml index 9e0ed00..a5f7541 100644 --- a/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle_2.field_test_import_2.yml +++ b/core/modules/field/tests/modules/field_test_config/config/field.instance.test_entity.test_bundle_2.field_test_import_2.yml @@ -5,7 +5,7 @@ entity_type: test_entity bundle: test_bundle_2 label: 'Test import field 2 on test bundle 2' description: '' -required: 0 +required: '0' default_value: { } default_value_function: '' settings: diff --git a/core/modules/field/tests/modules/field_test_config/staging/field.field.field_test_import_2_staging.yml b/core/modules/field/tests/modules/field_test_config/staging/field.field.field_test_import_2_staging.yml new file mode 100644 index 0000000..b181aa9 --- /dev/null +++ b/core/modules/field/tests/modules/field_test_config/staging/field.field.field_test_import_2_staging.yml @@ -0,0 +1,20 @@ +id: field_test_import_2 +uuid: 2165d9aa-9a0c-41a1-be02-2a49f3405c00 +langcode: und +type: text +settings: + max_length: '255' +module: text +active: '1' +entity_types: { } +storage: + type: field_sql_storage + settings: { } + module: field_sql_storage + active: '1' +locked: '0' +cardinality: '1' +translatable: false +indexes: + format: + - format diff --git a/core/modules/field/tests/modules/field_test_config/staging/field.instance.test_entity.test_bundle.field_test_import_2_staging.yml b/core/modules/field/tests/modules/field_test_config/staging/field.instance.test_entity.test_bundle.field_test_import_2_staging.yml new file mode 100644 index 0000000..0fefb53 --- /dev/null +++ b/core/modules/field/tests/modules/field_test_config/staging/field.instance.test_entity.test_bundle.field_test_import_2_staging.yml @@ -0,0 +1,21 @@ +id: test_entity.test_bundle.field_test_import_2 +uuid: f07794a2-d7cc-45b6-b40d-13cf021b5552 +langcode: und +field_uuid: 2165d9aa-9a0c-41a1-be02-2a49f3405c00 +entity_type: test_entity +bundle: test_bundle +label: 'Test import field 2 on test bundle' +description: '' +required: '0' +default_value: { } +default_value_function: '' +settings: + text_processing: '0' + user_register_form: false +widget: + weight: '-2' + type: text_textfield + module: text + settings: + size: '60' +field_type: text diff --git a/core/modules/field/tests/modules/field_test_config/staging/field.instance.test_entity.test_bundle_2.field_test_import_2_staging.yml b/core/modules/field/tests/modules/field_test_config/staging/field.instance.test_entity.test_bundle_2.field_test_import_2_staging.yml new file mode 100644 index 0000000..2f99d4e --- /dev/null +++ b/core/modules/field/tests/modules/field_test_config/staging/field.instance.test_entity.test_bundle_2.field_test_import_2_staging.yml @@ -0,0 +1,21 @@ +id: test_entity.test_bundle_2.field_test_import_2 +uuid: 49d6dd19-5097-443d-8f00-fc79525bebce +langcode: und +field_uuid: 2165d9aa-9a0c-41a1-be02-2a49f3405c00 +entity_type: test_entity +bundle: test_bundle_2 +label: 'Test import field 2 on test bundle 2' +description: '' +required: '0' +default_value: { } +default_value_function: '' +settings: + text_processing: '0' + user_register_form: false +widget: + weight: '-2' + type: text_textfield + module: text + settings: + size: '60' +field_type: text