public function ViewPageControllerTest::testPageController

Tests the page controller.

File

drupal/core/modules/views/lib/Drupal/views/Tests/ViewPageControllerTest.php, line 67
Contains \Drupal\views\Tests\ViewPageControllerTest.

Class

ViewPageControllerTest
Tests the page controller but not the actualy execution/rendering of a view.

Namespace

Drupal\views\Tests

Code

public function testPageController() {
  $this
    ->assertTrue($this->pageController instanceof ViewPageController, 'Ensure the right class is stored in the container');

  // Pass in a non existent view.
  $random_view_id = $this
    ->randomName();
  $request = new Request();
  $request->attributes
    ->set('view_id', $random_view_id);
  $request->attributes
    ->set('display_id', 'default');
  try {
    $this->pageController
      ->handle($request);
    $this
      ->fail('No exception thrown on non-existing view.');
  } catch (NotFoundHttpException $e) {
    $this
      ->pass('Exception thrown when view was not found');
  }
  $request->attributes
    ->set('view_id', 'test_page_view');
  $output = $this->pageController
    ->handle($request);
  $this
    ->assertTrue(is_array($output));
  $this
    ->assertEqual($output['#view']->storage->id, 'test_page_view', 'The right view was executed.');
  $request->attributes
    ->set('display_id', 'page_1');
  $output = $this->pageController
    ->handle($request);
  $this
    ->assertTrue($output instanceof Response, 'Ensure the page display returns a response object.');
}