Skip to content
Snippets Groups Projects
Verified Commit 8e040e5d authored by Dave Long's avatar Dave Long
Browse files

Issue #2938920 by quietone, pooja_sharma, gabesullice, berdir: Convert...

Issue #2938920 by quietone, pooja_sharma, gabesullice, berdir: Convert EntityTypeDataTest to use EntityTestWithBundle

(cherry picked from commit 1dde6f5e)
parent fd1c79fa
No related branches found
No related tags found
10 merge requests!10602Issue #3438769 by vinmayiswamy, antonnavi, michelle, amateescu: Sub workspace does not clear,!10301Issue #3469309 by mstrelan, smustgrave, moshe weitzman: Use one-time login...,!10187Issue #3487488 by dakwamine: ExtensionMimeTypeGuesser::guessMimeType must support file names with "0" (zero) like foo.0.zip,!9929Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for...,!9787Resolve issue 3479427 - bootstrap barrio issue under Windows,!9742Issue #3463908 by catch, quietone: Split OptionsFieldUiTest into two,!9526Issue #3458177 by mondrake, catch, quietone, godotislate, longwave, larowlan,...,!6502Draft: Resolve #2938524 "Plach testing issue",!38582585169-10.1.x,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key
Pipeline #262067 passed with warnings
Pipeline: drupal

#262073

    ......@@ -15,8 +15,8 @@
    use Drupal\Core\TypedData\DataReferenceDefinition;
    use Drupal\Core\TypedData\DataReferenceDefinitionInterface;
    use Drupal\Core\TypedData\ListDataDefinitionInterface;
    use Drupal\entity_test\Entity\EntityTestBundle;
    use Drupal\KernelTests\KernelTestBase;
    use Drupal\node\Entity\NodeType;
    /**
    * Tests deriving metadata of entity and field data types.
    ......@@ -37,13 +37,14 @@ class EntityTypedDataDefinitionTest extends KernelTestBase {
    *
    * @var array
    */
    protected static $modules = ['system', 'filter', 'text', 'node', 'user'];
    protected static $modules = ['system', 'filter', 'text', 'entity_test', 'user'];
    /**
    * {@inheritdoc}
    */
    protected function setUp(): void {
    parent::setUp();
    $this->installEntitySchema('entity_test');
    $this->typedDataManager = $this->container->get('typed_data_manager');
    }
    ......@@ -91,30 +92,32 @@ public function testFields(): void {
    * Tests deriving metadata about entities.
    */
    public function testEntities(): void {
    NodeType::create([
    'type' => 'article',
    'name' => 'Article',
    $this->installEntitySchema('entity_test_with_bundle');
    EntityTestBundle::create([
    'id' => 'article',
    'label' => 'Article',
    ])->save();
    $entity_definition = EntityDataDefinition::create('node');
    $bundle_definition = EntityDataDefinition::create('node', 'article');
    $entity_definition = EntityDataDefinition::create('entity_test_with_bundle');
    $bundle_definition = EntityDataDefinition::create('entity_test_with_bundle', 'article');
    // Entities are complex data.
    $this->assertNotInstanceOf(ListDataDefinitionInterface::class, $entity_definition);
    $this->assertInstanceOf(ComplexDataDefinitionInterface::class, $entity_definition);
    // Entity definitions should inherit their labels from the entity type.
    $this->assertEquals('Content', $entity_definition->getLabel());
    $this->assertEquals('Test entity with bundle', $entity_definition->getLabel());
    $this->assertEquals('Article', $bundle_definition->getLabel());
    $field_definitions = $entity_definition->getPropertyDefinitions();
    // Comparison should ignore the internal static cache, so compare the
    // serialized objects instead.
    $this->assertEquals(serialize(\Drupal::service('entity_field.manager')->getBaseFieldDefinitions('node')), serialize($field_definitions));
    $this->assertEquals('field_item:string', $entity_definition->getPropertyDefinition('title')->getItemDefinition()->getDataType());
    $this->assertEquals(serialize(\Drupal::service('entity_field.manager')->getBaseFieldDefinitions('entity_test_with_bundle')), serialize($field_definitions));
    $this->assertEquals('field_item:string', $entity_definition->getPropertyDefinition('name')->getItemDefinition()->getDataType());
    $this->assertNull($entity_definition->getMainPropertyName());
    $this->assertNull($entity_definition->getPropertyDefinition('invalid'));
    $entity_definition2 = $this->typedDataManager->createDataDefinition('entity:node');
    $entity_definition2 = $this->typedDataManager->createDataDefinition('entity:entity_test_with_bundle');
    $this->assertNotInstanceOf(ListDataDefinitionInterface::class, $entity_definition2);
    $this->assertInstanceOf(ComplexDataDefinitionInterface::class, $entity_definition2);
    $this->assertEquals(serialize($entity_definition), serialize($entity_definition2));
    ......@@ -122,10 +125,10 @@ public function testEntities(): void {
    // Test that the definition factory creates the right definitions for all
    // entity data types variants.
    $this->assertEquals(serialize(EntityDataDefinition::create()), serialize($this->typedDataManager->createDataDefinition('entity')));
    $this->assertEquals(serialize(EntityDataDefinition::create('node')), serialize($this->typedDataManager->createDataDefinition('entity:node')));
    $this->assertEquals(serialize(EntityDataDefinition::create('entity_test_with_bundle')), serialize($this->typedDataManager->createDataDefinition('entity:entity_test_with_bundle')));
    // Config entities don't support typed data.
    $entity_definition = EntityDataDefinition::create('node_type');
    $entity_definition = EntityDataDefinition::create('entity_test_bundle');
    $this->assertEquals([], $entity_definition->getPropertyDefinitions());
    }
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment