You are here

protected function ViewTestBase::enableViewsTestModule in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/tests/src/Functional/ViewTestBase.php \Drupal\Tests\views\Functional\ViewTestBase::enableViewsTestModule()
  2. 10 core/modules/views/tests/src/Functional/ViewTestBase.php \Drupal\Tests\views\Functional\ViewTestBase::enableViewsTestModule()

Sets up the views_test_data.module.

Because the schema of views_test_data.module is dependent on the test using it, it cannot be enabled normally.

38 calls to ViewTestBase::enableViewsTestModule()
AccessTest::setUp in core/modules/views/tests/src/Functional/Plugin/AccessTest.php
AccessTestBase::setUp in core/modules/user/tests/src/Functional/Views/AccessTestBase.php
AreaTest::setUp in core/modules/views/tests/src/Functional/Handler/AreaTest.php
AreaTitleWebTest::setUp in core/modules/views/tests/src/Functional/Handler/AreaTitleWebTest.php
ArgumentDefaultTest::setUp in core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php

... See full list

File

core/modules/views/tests/src/Functional/ViewTestBase.php, line 45

Class

ViewTestBase
Defines a base class for Views testing in the full web test environment.

Namespace

Drupal\Tests\views\Functional

Code

protected function enableViewsTestModule() {

  // Define the schema and views data variable before enabling the test module.
  \Drupal::state()
    ->set('views_test_data_schema', $this
    ->schemaDefinition());
  \Drupal::state()
    ->set('views_test_data_views_data', $this
    ->viewsData());
  \Drupal::service('module_installer')
    ->install([
    'views_test_data',
  ]);
  $this
    ->resetAll();
  $this
    ->rebuildContainer();
  $this->container
    ->get('module_handler')
    ->reload();

  // Load the test dataset.
  $data_set = $this
    ->dataSet();
  $query = Database::getConnection()
    ->insert('views_test_data')
    ->fields(array_keys($data_set[0]));
  foreach ($data_set as $record) {
    $query
      ->values($record);
  }
  $query
    ->execute();
}