You are here

public function HandlerBaseTest::testGetEntityTypeForFieldWithRelationship in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php \Drupal\Tests\views\Unit\Plugin\HandlerBaseTest::testGetEntityTypeForFieldWithRelationship()

@covers ::getEntityType

File

core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php, line 57
Contains \Drupal\Tests\views\Unit\Plugin\HandlerBaseTest.

Class

HandlerBaseTest
@coversDefaultClass \Drupal\views\Plugin\views\HandlerBase @group Views

Namespace

Drupal\Tests\views\Unit\Plugin

Code

public function testGetEntityTypeForFieldWithRelationship() {
  $handler = new TestHandler([], 'test_handler', []);
  $options = [
    'relationship' => 'test_relationship',
  ];
  $handler
    ->init($this->executable, $this->display, $options);
  $this->display
    ->expects($this
    ->atLeastOnce())
    ->method('getOption')
    ->with('relationships')
    ->willReturn([
    'test_relationship' => [
      'table' => 'test_entity_type_table',
      'id' => 'test_relationship',
      'field' => 'test_relationship',
    ],
  ]);
  $this->view
    ->expects($this
    ->any())
    ->method('get')
    ->with('base_table')
    ->willReturn('test_entity_type_table');
  $this->viewsData
    ->expects($this
    ->any())
    ->method('get')
    ->willReturnMap([
    [
      'test_entity_type_table',
      [
        'table' => [
          'entity type' => 'test_entity_type',
        ],
        'test_relationship' => [
          'relationship' => [
            'base' => 'test_other_entity_type_table',
            'base field' => 'id',
          ],
        ],
      ],
    ],
    [
      'test_other_entity_type_table',
      [
        'table' => [
          'entity type' => 'test_other_entity_type',
        ],
      ],
    ],
  ]);
  $handler
    ->setViewsData($this->viewsData);
  $this
    ->assertEquals('test_other_entity_type', $handler
    ->getEntityType());
}