/** * Tests that config bundle deletions are mirrored in field config settings. */ 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'])); }