You are here

public function DefaultViewsTest::testDefaultViews in Drupal 8

Same name in this branch
  1. 8 core/modules/views/tests/src/Functional/DefaultViewsTest.php \Drupal\Tests\views\Functional\DefaultViewsTest::testDefaultViews()
  2. 8 core/modules/views_ui/tests/src/Functional/DefaultViewsTest.php \Drupal\Tests\views_ui\Functional\DefaultViewsTest::testDefaultViews()
Same name and namespace in other branches
  1. 9 core/modules/views/tests/src/Functional/DefaultViewsTest.php \Drupal\Tests\views\Functional\DefaultViewsTest::testDefaultViews()

Test that all Default views work as expected.

File

core/modules/views/tests/src/Functional/DefaultViewsTest.php, line 137

Class

DefaultViewsTest
Tests the default views provided by views.

Namespace

Drupal\Tests\views\Functional

Code

public function testDefaultViews() {

  // Get all default views.
  $controller = $this->container
    ->get('entity_type.manager')
    ->getStorage('view');
  $views = $controller
    ->loadMultiple();
  foreach ($views as $name => $view_storage) {
    $view = $view_storage
      ->getExecutable();
    $view
      ->initDisplay();
    foreach ($view->storage
      ->get('display') as $display_id => $display) {
      $view
        ->setDisplay($display_id);

      // Add any args if needed.
      if (array_key_exists($name, $this->viewArgMap)) {
        $view
          ->preExecute($this->viewArgMap[$name]);
      }
      $this
        ->assert(TRUE, new FormattableMarkup('View @view will be executed.', [
        '@view' => $view->storage
          ->id(),
      ]));
      $view
        ->execute();
      $tokens = [
        '@name' => $name,
        '@display_id' => $display_id,
      ];
      $this
        ->assertTrue($view->executed, new FormattableMarkup('@name:@display_id has been executed.', $tokens));
      $count = count($view->result);
      $this
        ->assertTrue($count > 0, new FormattableMarkup('@count results returned', [
        '@count' => $count,
      ]));
      $view
        ->destroy();
    }
  }
}