function FieldDefinitionListenerTest::testOnFieldDefinitionCreateNewField

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Field/FieldDefinitionListenerTest.php \Drupal\Tests\Core\Field\FieldDefinitionListenerTest::testOnFieldDefinitionCreateNewField()
  2. 8.9.x core/tests/Drupal/Tests/Core/Field/FieldDefinitionListenerTest.php \Drupal\Tests\Core\Field\FieldDefinitionListenerTest::testOnFieldDefinitionCreateNewField()
  3. 10 core/tests/Drupal/Tests/Core/Field/FieldDefinitionListenerTest.php \Drupal\Tests\Core\Field\FieldDefinitionListenerTest::testOnFieldDefinitionCreateNewField()

@covers ::onFieldDefinitionCreate

File

core/tests/Drupal/Tests/Core/Field/FieldDefinitionListenerTest.php, line 111

Class

FieldDefinitionListenerTest
@coversDefaultClass \Drupal\Core\Field\FieldDefinitionListener @group Field

Namespace

Drupal\Tests\Core\Field

Code

public function testOnFieldDefinitionCreateNewField() : void {
    $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_definition->getType()
        ->willReturn('test_type');
    $storage = $this->prophesize(DynamicallyFieldableEntityStorageInterface::class);
    $storage->onFieldDefinitionCreate($field_definition->reveal())
        ->shouldBeCalledTimes(1);
    $this->entityTypeManager
        ->getStorage('test_entity_type')
        ->willReturn($storage->reveal());
    $entity = $this->prophesize(EntityTypeInterface::class);
    $this->setUpEntityTypeManager([
        '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([]);
    $key_value_store->set('test_entity_type', [
        'test_field' => [
            'type' => 'test_type',
            'bundles' => [
                'test_bundle' => 'test_bundle',
            ],
        ],
    ])
        ->shouldBeCalled();
    $this->fieldDefinitionListener
        ->onFieldDefinitionCreate($field_definition->reveal());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.