You are here

public function EntityOperationsUnitTest::testRenderWithDestination in Zircon Profile 8

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

@covers ::render

File

core/modules/views/tests/src/Unit/Plugin/views/field/EntityOperationsUnitTest.php, line 92
Contains \Drupal\Tests\views\Unit\Plugin\views\field\EntityOperationsUnitTest.

Class

EntityOperationsUnitTest
@coversDefaultClass \Drupal\views\Plugin\views\field\EntityOperations @group Views

Namespace

Drupal\Tests\views\Unit\Plugin\views\field

Code

public function testRenderWithDestination() {
  $entity_type_id = $this
    ->randomMachineName();
  $entity = $this
    ->getMockBuilder('\\Drupal\\user\\Entity\\Role')
    ->disableOriginalConstructor()
    ->getMock();
  $entity
    ->expects($this
    ->any())
    ->method('getEntityTypeId')
    ->will($this
    ->returnValue($entity_type_id));
  $operations = array(
    'foo' => array(
      'title' => $this
        ->randomMachineName(),
    ),
  );
  $list_builder = $this
    ->getMock('\\Drupal\\Core\\Entity\\EntityListBuilderInterface');
  $list_builder
    ->expects($this
    ->once())
    ->method('getOperations')
    ->with($entity)
    ->will($this
    ->returnValue($operations));
  $this->entityManager
    ->expects($this
    ->once())
    ->method('getListBuilder')
    ->with($entity_type_id)
    ->will($this
    ->returnValue($list_builder));
  $this->plugin->options['destination'] = TRUE;
  $result = new ResultRow();
  $result->_entity = $entity;
  $expected_build = array(
    '#type' => 'operations',
    '#links' => $operations,
  );
  $expected_build['#links']['foo']['query'] = [
    'destination' => 'foobar',
  ];
  $build = $this->plugin
    ->render($result);
  $this
    ->assertSame($expected_build, $build);
}