function FilterBooleanOperatorGroupTest::testViewsBooleanGroupedFilter

Same name and namespace in other branches
  1. 9 core/modules/views/tests/src/Kernel/Handler/FilterBooleanOperatorGroupTest.php \Drupal\Tests\views\Kernel\Handler\FilterBooleanOperatorGroupTest::testViewsBooleanGroupedFilter()
  2. 10 core/modules/views/tests/src/Kernel/Handler/FilterBooleanOperatorGroupTest.php \Drupal\Tests\views\Kernel\Handler\FilterBooleanOperatorGroupTest::testViewsBooleanGroupedFilter()

Tests that grouped boolean exposed form works as expected.

File

core/modules/views/tests/src/Kernel/Handler/FilterBooleanOperatorGroupTest.php, line 90

Class

FilterBooleanOperatorGroupTest
Tests the core <a href="/api/drupal/core%21modules%21views%21src%21Plugin%21views%21filter%21BooleanOperator.php/class/BooleanOperator/11.x" title="Simple filter to handle matching of boolean values." class="local">Drupal\views\Plugin\views\filter\BooleanOperator</a> handler.

Namespace

Drupal\Tests\views\Kernel\Handler

Code

public function testViewsBooleanGroupedFilter() : void {
    
    /** @var \Drupal\views\ViewExecutable $view */
    $view = Views::getView('test_boolean_grouped_filter_view');
    $view->setDisplay('page_1');
    $view->setExposedInput([
        'field_test_boolean_field_value' => 'All',
    ]);
    $view->execute();
    $this->assertEquals(2, count($view->result));
    $build = $view->rowPlugin
        ->render($view->result[0]);
    $output = \Drupal::service('renderer')->renderRoot($build);
    $this->assertStringContainsString('Checked', $output->__toString());
    $build = $view->rowPlugin
        ->render($view->result[1]);
    $output = \Drupal::service('renderer')->renderRoot($build);
    $this->assertStringContainsString('Un-checked', $output->__toString());
    $view = Views::getView('test_boolean_grouped_filter_view');
    $view->setDisplay('page_1');
    $view->setExposedInput([
        'field_test_boolean_field_value' => 1,
    ]);
    $view->execute();
    $this->assertEquals(1, count($view->result));
    $build = $view->rowPlugin
        ->render($view->result[0]);
    $output = \Drupal::service('renderer')->renderRoot($build);
    $this->assertStringContainsString('Checked', $output->__toString());
    $view = Views::getView('test_boolean_grouped_filter_view');
    $view->setDisplay('page_1');
    $view->setExposedInput([
        'field_test_boolean_field_value' => '2',
    ]);
    $view->execute();
    $this->assertEquals(1, count($view->result));
    $build = $view->rowPlugin
        ->render($view->result[0]);
    $output = \Drupal::service('renderer')->renderRoot($build);
    $this->assertStringContainsString('Un-checked', $output->__toString());
}

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