function FilterUITest::testFilterIdentifier

Same name in other branches
  1. 9 core/modules/views_ui/tests/src/Functional/FilterUITest.php \Drupal\Tests\views_ui\Functional\FilterUITest::testFilterIdentifier()
  2. 8.9.x core/modules/views_ui/tests/src/Functional/FilterUITest.php \Drupal\Tests\views_ui\Functional\FilterUITest::testFilterIdentifier()
  3. 10 core/modules/views_ui/tests/src/Functional/FilterUITest.php \Drupal\Tests\views_ui\Functional\FilterUITest::testFilterIdentifier()

Tests the identifier settings and restrictions.

File

core/modules/views_ui/tests/src/Functional/FilterUITest.php, line 104

Class

FilterUITest
Tests for the filters from the UI.

Namespace

Drupal\Tests\views_ui\Functional

Code

public function testFilterIdentifier() : void {
    $admin_user = $this->drupalCreateUser([
        'administer views',
        'administer site configuration',
    ]);
    $this->drupalLogin($admin_user);
    $path = 'admin/structure/views/nojs/handler/test_filter_in_operator_ui/default/filter/type';
    // Set an empty identifier.
    $edit = [
        'options[expose][identifier]' => '',
    ];
    $this->drupalGet($path);
    $this->submitForm($edit, 'Apply');
    $this->assertSession()
        ->pageTextContains('The identifier is required if the filter is exposed.');
    // Set the identifier to 'value'.
    $edit = [
        'options[expose][identifier]' => 'value',
    ];
    $this->drupalGet($path);
    $this->submitForm($edit, 'Apply');
    $this->assertSession()
        ->pageTextContains('This identifier is not allowed.');
    // Try a few restricted values for the identifier.
    foreach ([
        'value value',
        'value^value',
    ] as $identifier) {
        $edit = [
            'options[expose][identifier]' => $identifier,
        ];
        $this->drupalGet($path);
        $this->submitForm($edit, 'Apply');
        $this->assertSession()
            ->pageTextContains('This identifier has illegal characters.');
    }
}

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