/** * @covers ::onFieldDefinitionDelete */ public function testOnFieldDefinitionDeleteSingleBundles() { $field_definition = $this->prophesize(FieldDefinitionInterface::class); $field_definition->getTargetEntityTypeId()->willReturn('test_entity_type'); $field_definition->getTargetBundle()->willReturn('test_bundle'); $field_definition->getName()->willReturn('test_field'); $field = $field_definition->reveal(); $storage = $this->prophesize(DynamicallyFieldableEntityStorageInterface::class); $storage->onFieldDefinitionDelete($field) ->shouldBeCalledTimes(1); $this->entityManager->setHandler('storage', 'test_entity_type', $storage->reveal()); $entity = $this->prophesize(EntityTypeInterface::class); $this->setUpEntityManager(array('test_entity_type' => $entity)); // Set up the stored bundle field map. $key_value_store = $this->prophesize(KeyValueStoreInterface::class); $this->keyValueFactory->get('entity.definitions.bundle_field_map')->willReturn($key_value_store->reveal()); $key_value_store->get('test_entity_type')->willReturn([ 'test_field' => [ 'type' => 'test_type', 'bundles' => ['test_bundle' => 'test_bundle', 'second_bundle' => 'second_bundle'], ], ]); $key_value_store->set('test_entity_type', [ 'test_field' => [ 'type' => 'test_type', 'bundles' => ['second_bundle' => 'second_bundle'], ], ]) ->shouldBeCalled(); $this->entityManager->onFieldDefinitionDelete($field); }