public function EntityReferenceSettingsTest::testConfigTargetBundleDeletion in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/field/src/Tests/EntityReference/EntityReferenceSettingsTest.php \Drupal\field\Tests\EntityReference\EntityReferenceSettingsTest::testConfigTargetBundleDeletion()
Tests that config bundle deletions are mirrored in field config settings.
File
- core/
modules/ field/ src/ Tests/ EntityReference/ EntityReferenceSettingsTest.php, line 81 - Contains \Drupal\field\Tests\EntityReference\EntityReferenceSettingsTest.
Class
- EntityReferenceSettingsTest
- Tests entity reference field settings.
Namespace
Drupal\field\Tests\EntityReferenceCode
public function testConfigTargetBundleDeletion() {
// Attach an entity reference field to $this->nodeType.
$name = Unicode::strtolower($this
->randomMachineName());
$label = $this
->randomString();
$vid = $this->vocabulary
->id();
$handler_settings = [
'target_bundles' => [
$vid => $vid,
],
];
$this
->createEntityReferenceField('node', $this->nodeType
->id(), $name, $label, 'taxonomy_term', 'default', $handler_settings);
// Check that the 'target_bundle' setting contains the vocabulary.
$field_config = FieldConfig::loadByName('node', $this->nodeType
->id(), $name);
$actual_handler_settings = $field_config
->getSetting('handler_settings');
$this
->assertEqual($handler_settings, $actual_handler_settings);
// Delete the vocabulary.
$this->vocabulary
->delete();
// Check that the deleted vocabulary is no longer present in the
// 'target_bundles' field setting.
$field_config = FieldConfig::loadByName('node', $this->nodeType
->id(), $name);
$handler_settings = $field_config
->getSetting('handler_settings');
$this
->assertTrue(empty($handler_settings['target_bundles']));
}