public function EntityViewsDataTest::testRevisionTableWithoutDataTable in Drupal 10
Tests revision table without data table support.
File
- core/
modules/ views/ tests/ src/ Kernel/ Entity/ EntityViewsDataTest.php, line 230
Class
- EntityViewsDataTest
- Tests entity views data.
Namespace
Drupal\Tests\views\Kernel\EntityCode
public function testRevisionTableWithoutDataTable() {
$entity_type = $this->baseEntityType
->set('revision_table', 'entity_test_mulrev_revision')
->set('revision_data_table', NULL)
->set('id', 'entity_test_mulrev')
->setKey('revision', 'revision_id');
$this
->setUpEntityType($entity_type);
$data = $this->entityTypeManager
->getHandler('entity_test_mulrev', 'views_data')
->getViewsData();
$this
->assertEquals('Entity test revisions', $data['entity_test_mulrev_revision']['table']['base']['title']);
$this
->assertEquals('revision_id', $data['entity_test_mulrev_revision']['table']['base']['field']);
$this
->assertEquals(FALSE, $data['entity_test']['table']['entity revision']);
$this
->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_revision']['table']['entity type']);
$this
->assertEquals(TRUE, $data['entity_test_mulrev_revision']['table']['entity revision']);
$this
->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_revision']['table']['entity type']);
$this
->assertEquals(TRUE, $data['entity_test_mulrev_revision']['table']['entity revision']);
$this
->assertEquals('Entity test revision', $data['entity_test_mulrev_revision']['table']['group']);
$this
->assertEquals('entity_test', $data['entity_test']['table']['provider']);
// Ensure the join information is set up properly.
// Tests the join definition between the base and the revision table.
$revision_data = $data['entity_test_mulrev_revision'];
$this
->assertCount(1, $revision_data['table']['join']);
$this
->assertEquals([
'entity_test' => [
'left_field' => 'revision_id',
'field' => 'revision_id',
'type' => 'INNER',
],
], $revision_data['table']['join']);
$this
->assertFalse(isset($data['data_table']));
$this
->assertEquals('entity_test', $revision_data['id']['relationship']['base']);
$this
->assertEquals('id', $revision_data['id']['relationship']['base field']);
$this
->assertEquals('entity_test', $revision_data['revision_id']['relationship']['base']);
$this
->assertEquals('revision_id', $revision_data['revision_id']['relationship']['base field']);
}