function FilterStringTest::testFilterStringEqual

Same name and namespace in other branches
  1. 10 core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php \Drupal\Tests\views\Kernel\Handler\FilterStringTest::testFilterStringEqual()
  2. 9 core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php \Drupal\Tests\views\Kernel\Handler\FilterStringTest::testFilterStringEqual()
  3. 8.9.x core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php \Drupal\Tests\views\Kernel\Handler\FilterStringTest::testFilterStringEqual()
  4. main core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php \Drupal\Tests\views\Kernel\Handler\FilterStringTest::testFilterStringEqual()

Tests the string filter with the 'equal' operator.

File

core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php, line 98

Class

FilterStringTest
Tests the core Drupal\views\Plugin\views\filter\StringFilter handler.

Namespace

Drupal\Tests\views\Kernel\Handler

Code

public function testFilterStringEqual() : void {
  $view = Views::getView('test_view');
  $view->setDisplay();
  // Change the filtering.
  $view->displayHandlers
    ->get('default')
    ->overrideOption('filters', [
    'name' => [
      'id' => 'name',
      'table' => 'views_test_data',
      'field' => 'name',
      'relationship' => 'none',
      'operator' => '=',
      'value' => 'Ringo',
    ],
  ]);
  $this->executeView($view);
  $resultset = [
    [
      'name' => 'Ringo',
    ],
  ];
  $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
  $view->destroy();
  // Get the original dataset.
  $data_set = $this->dataSet();
  // Adds a new data point in the views_test_data table.
  $query = Database::getConnection()->insert('views_test_data')
    ->fields(array_keys($data_set[0]));
  $query->values([
    'name' => 'Ringo%',
    'age' => 31,
    'job' => 'Drummer',
    'created' => gmmktime(6, 30, 10, 1, 1, 2000),
    'status' => 1,
    'description' => NULL,
  ]);
  $query->execute();
  $view = Views::getView('test_view');
  $view->setDisplay();
  // Change the filtering.
  $view->displayHandlers
    ->get('default')
    ->overrideOption('filters', [
    'name' => [
      'id' => 'name',
      'table' => 'views_test_data',
      'field' => 'name',
      'relationship' => 'none',
      'operator' => '=',
      'value' => 'Ringo%',
    ],
  ]);
  $this->executeView($view);
  $resultset = [
    [
      'name' => 'Ringo%',
    ],
  ];
  $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
}

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