function 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 713  
Class
- SqlContentEntityStorageTest
 - @coversDefaultClass \Drupal\Core\Entity\Sql\SqlContentEntityStorage[[api-linebreak]] @group Entity
 
Namespace
Drupal\Tests\Core\Entity\SqlCode
public function testGetTableMappingTranslatable(array $entity_keys) {
  // 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.