You are here

public function EntityFieldManagerTest::testGetBaseFieldDefinitionsTranslatableEntityTypeDefaultLangcode in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php \Drupal\Tests\Core\Entity\EntityFieldManagerTest::testGetBaseFieldDefinitionsTranslatableEntityTypeDefaultLangcode()

Tests the getBaseFieldDefinitions() method with a translatable entity type.

@covers ::getBaseFieldDefinitions @covers ::buildBaseFieldDefinitions

@dataProvider providerTestGetBaseFieldDefinitionsTranslatableEntityTypeDefaultLangcode

File

core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php, line 296
Contains \Drupal\Tests\Core\Entity\EntityFieldManagerTest.

Class

EntityFieldManagerTest
@coversDefaultClass \Drupal\Core\Entity\EntityFieldManager @group Entity

Namespace

Drupal\Tests\Core\Entity

Code

public function testGetBaseFieldDefinitionsTranslatableEntityTypeDefaultLangcode($default_langcode_key) {
  $this
    ->setUpEntityWithFieldDefinition(FALSE, 'id', [
    'langcode' => 'langcode',
    'default_langcode' => $default_langcode_key,
  ]);
  $field_definition = $this
    ->prophesize()
    ->willImplement(FieldDefinitionInterface::class)
    ->willImplement(FieldStorageDefinitionInterface::class);
  $field_definition
    ->isTranslatable()
    ->willReturn(TRUE);
  $entity_class = EntityTypeManagerTestEntity::class;
  $entity_class::$baseFieldDefinitions += [
    'langcode' => $field_definition,
  ];
  $this->entityType
    ->isTranslatable()
    ->willReturn(TRUE);
  $definitions = $this->entityFieldManager
    ->getBaseFieldDefinitions('test_entity_type');
  $this
    ->assertTrue(isset($definitions[$default_langcode_key]));
}