function EntityTest::testRenderWithIdAndToken

Same name in other branches
  1. 9 core/modules/views/tests/src/Unit/Plugin/area/EntityTest.php \Drupal\Tests\views\Unit\Plugin\area\EntityTest::testRenderWithIdAndToken()
  2. 8.9.x core/modules/views/tests/src/Unit/Plugin/area/EntityTest.php \Drupal\Tests\views\Unit\Plugin\area\EntityTest::testRenderWithIdAndToken()
  3. 10 core/modules/views/tests/src/Unit/Plugin/area/EntityTest.php \Drupal\Tests\views\Unit\Plugin\area\EntityTest::testRenderWithIdAndToken()

@covers ::render @covers ::defineOptions @covers ::init

@dataProvider providerTestTokens

File

core/modules/views/tests/src/Unit/Plugin/area/EntityTest.php, line 196

Class

EntityTest
@coversDefaultClass \Drupal\views\Plugin\views\area\Entity @group Entity

Namespace

Drupal\Tests\views\Unit\Plugin\area

Code

public function testRenderWithIdAndToken($token, $id) : void {
    $this->setupEntityTypeManager();
    $options = [
        'target' => $token,
        'tokenize' => TRUE,
    ];
    $entity = $this->createMock('Drupal\\Core\\Entity\\EntityInterface');
    $entity->expects($this->once())
        ->method('access')
        ->willReturn(TRUE);
    $this->stylePlugin
        ->expects($this->once())
        ->method('tokenizeValue')
        ->with($token, 0)
        ->willReturn($id);
    $this->entityStorage
        ->expects($this->never())
        ->method('loadByProperties');
    $this->entityStorage
        ->expects($this->once())
        ->method('load')
        ->with($id)
        ->willReturn($entity);
    $this->entityViewBuilder
        ->expects($this->once())
        ->method('view')
        ->with($entity, 'default')
        ->willReturn([
        '#markup' => 'hallo',
    ]);
    $this->entityHandler
        ->init($this->executable, $this->display, $options);
    $result = $this->entityHandler
        ->render();
    $this->assertEquals([
        '#markup' => 'hallo',
    ], $result);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.