You are here

protected function FilterDateTimeTest::_testOffset in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/datetime/tests/src/Kernel/Views/FilterDateTimeTest.php \Drupal\Tests\datetime\Kernel\Views\FilterDateTimeTest::_testOffset()
  2. 10 core/modules/datetime/tests/src/Kernel/Views/FilterDateTimeTest.php \Drupal\Tests\datetime\Kernel\Views\FilterDateTimeTest::_testOffset()

Tests offset operations.

1 call to FilterDateTimeTest::_testOffset()
FilterDateTimeTest::testDatetimeFilter in core/modules/datetime/tests/src/Kernel/Views/FilterDateTimeTest.php
Tests filter operations.

File

core/modules/datetime/tests/src/Kernel/Views/FilterDateTimeTest.php, line 83

Class

FilterDateTimeTest
Tests the Drupal\datetime\Plugin\views\filter\Date handler.

Namespace

Drupal\Tests\datetime\Kernel\Views

Code

protected function _testOffset() {
  $view = Views::getView('test_filter_datetime');
  $field = static::$field_name . '_value';

  // Test simple operations.
  $view
    ->initHandlers();
  $view->filter[$field]->operator = '>';
  $view->filter[$field]->value['type'] = 'offset';
  $view->filter[$field]->value['value'] = '+1 hour';
  $view
    ->setDisplay('default');
  $this
    ->executeView($view);
  $expected_result = [
    [
      'nid' => $this->nodes[3]
        ->id(),
    ],
  ];
  $this
    ->assertIdenticalResultset($view, $expected_result, $this->map);
  $view
    ->destroy();

  // Test offset for between operator.
  $view
    ->initHandlers();
  $view->filter[$field]->operator = 'between';
  $view->filter[$field]->value['type'] = 'offset';
  $view->filter[$field]->value['max'] = '+2 days';
  $view->filter[$field]->value['min'] = '+1 hour';
  $view
    ->setDisplay('default');
  $this
    ->executeView($view);
  $expected_result = [
    [
      'nid' => $this->nodes[3]
        ->id(),
    ],
  ];
  $this
    ->assertIdenticalResultset($view, $expected_result, $this->map);
}