function SqlContentEntityStorageTest::testGetTableMappingTranslatable
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testGetTableMappingTranslatable()
- 8.9.x core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testGetTableMappingTranslatable()
- 11.x core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testGetTableMappingTranslatable()
Tests getTableMapping() with a non-revisionable, translatable entity type.
@covers ::__construct @covers ::getTableMapping
@dataProvider providerTestGetTableMappingSimple
Parameters
string[] $entity_keys: A map of entity keys to use for the mocked entity type.
File
-
core/
tests/ Drupal/ Tests/ Core/ Entity/ Sql/ SqlContentEntityStorageTest.php, line 715
Class
- SqlContentEntityStorageTest
- @coversDefaultClass \Drupal\Core\Entity\Sql\SqlContentEntityStorage @group Entity
Namespace
Drupal\Tests\Core\Entity\SqlCode
public function testGetTableMappingTranslatable(array $entity_keys) : void {
// This allows to re-use the data provider.
$entity_keys['langcode'] = 'langcode';
$this->entityType
->expects($this->atLeastOnce())
->method('isTranslatable')
->willReturn(TRUE);
$this->entityType
->expects($this->atLeastOnce())
->method('getDataTable')
->willReturn('entity_test_field_data');
$this->entityType
->expects($this->any())
->method('getKey')
->willReturnMap([
[
'id',
$entity_keys['id'],
],
[
'uuid',
$entity_keys['uuid'],
],
[
'bundle',
$entity_keys['bundle'],
],
[
'langcode',
$entity_keys['langcode'],
],
]);
$this->setUpEntityStorage();
$mapping = $this->entityStorage
->getTableMapping();
$expected = [
'entity_test',
'entity_test_field_data',
];
$this->assertEquals($expected, $mapping->getTableNames());
$expected = array_values(array_filter($entity_keys));
$actual = $mapping->getFieldNames('entity_test');
$this->assertEquals($expected, $actual);
// The UUID is not stored on the data table.
$expected = array_values(array_filter([
$entity_keys['id'],
$entity_keys['bundle'],
$entity_keys['langcode'],
]));
$actual = $mapping->getFieldNames('entity_test_field_data');
$this->assertEquals($expected, $actual);
$expected = [];
$actual = $mapping->getExtraColumns('entity_test');
$this->assertEquals($expected, $actual);
$actual = $mapping->getExtraColumns('entity_test_field_data');
$this->assertEquals($expected, $actual);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.