function SqlContentEntityStorageTest::testGetTableMappingSimpleWithDedicatedStorageFields
Tests getTableMapping() with a base field that requires a dedicated table.
@covers ::__construct
      
    
@covers ::getTableMapping
      
    
File
- 
              core/
tests/ Drupal/ Tests/ Core/ Entity/ Sql/ SqlContentEntityStorageTest.php, line 545  
Class
- SqlContentEntityStorageTest
 - @coversDefaultClass \Drupal\Core\Entity\Sql\SqlContentEntityStorage[[api-linebreak]] @group Entity
 
Namespace
Drupal\Tests\Core\Entity\SqlCode
public function testGetTableMappingSimpleWithDedicatedStorageFields() : void {
  $base_field_names = [
    'multi_valued_base_field',
  ];
  // Set up one entity key in order to have a base table.
  $this->fieldDefinitions = $this->mockFieldDefinitions([
    'test_id',
  ]);
  // Set up the multi-valued base field.
  $this->fieldDefinitions += $this->mockFieldDefinitions($base_field_names, [
    'hasCustomStorage' => FALSE,
    'isMultiple' => TRUE,
    'getTargetEntityTypeId' => 'entity_test',
  ]);
  $this->setUpEntityStorage();
  $mapping = $this->entityStorage
    ->getTableMapping();
  $this->assertEquals([
    'entity_test',
    'entity_test__multi_valued_base_field',
  ], $mapping->getTableNames());
  $this->assertEquals($base_field_names, $mapping->getFieldNames('entity_test__multi_valued_base_field'));
  $extra_columns = [
    'bundle',
    'deleted',
    'entity_id',
    'revision_id',
    'langcode',
    'delta',
  ];
  $this->assertEquals($extra_columns, $mapping->getExtraColumns('entity_test__multi_valued_base_field'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.