class FilterOptionsTest in Drupal 10
Same name and namespace in other branches
- 8 core/modules/views_ui/tests/src/FunctionalJavascript/FilterOptionsTest.php \Drupal\Tests\views_ui\FunctionalJavascript\FilterOptionsTest
- 9 core/modules/views_ui/tests/src/FunctionalJavascript/FilterOptionsTest.php \Drupal\Tests\views_ui\FunctionalJavascript\FilterOptionsTest
Tests the JavaScript filtering of options in add handler form.
@group views_ui
Hierarchy
- class \Drupal\Tests\BrowserTestBase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, FunctionalTestSetupTrait, TestSetupTrait, BlockCreationTrait, ConfigTestTrait, ExtensionListTestTrait, ContentTypeCreationTrait, NodeCreationTrait, RandomGeneratorTrait, TestRequirementsTrait, PhpUnitWarnings, UiHelperTrait, UserCreationTrait, XdebugRequestTrait
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
- class \Drupal\Tests\views_ui\FunctionalJavascript\FilterOptionsTest
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
Expanded class hierarchy of FilterOptionsTest
File
- core/
modules/ views_ui/ tests/ src/ FunctionalJavascript/ FilterOptionsTest.php, line 12
Namespace
Drupal\Tests\views_ui\FunctionalJavascriptView source
class FilterOptionsTest extends WebDriverTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'node',
'views',
'views_ui',
'views_ui_test_field',
];
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$admin_user = $this
->drupalCreateUser([
'administer views',
]);
$this
->drupalLogin($admin_user);
}
/**
* Tests filtering options in the 'Add fields' dialog.
*/
public function testFilterOptionsAddFields() {
$this
->drupalGet('admin/structure/views/view/content');
$session = $this
->getSession();
$web_assert = $this
->assertSession();
$page = $session
->getPage();
// Open the dialog.
$page
->clickLink('views-add-field');
// Wait for the popup to open and the search field to be available.
$options_search = $web_assert
->waitForField('override[controls][options_search]');
// Test that the both special fields are visible.
$this
->assertTrue($page
->findField('name[views.views_test_field_1]')
->isVisible());
$this
->assertTrue($page
->findField('name[views.views_test_field_2]')
->isVisible());
// Test the ".title" field in search.
$options_search
->setValue('FIELD_1_TITLE');
$page
->waitFor(10, function () use ($page) {
return !$page
->findField('name[views.views_test_field_2]')
->isVisible();
});
$this
->assertTrue($page
->findField('name[views.views_test_field_1]')
->isVisible());
$this
->assertFalse($page
->findField('name[views.views_test_field_2]')
->isVisible());
// Test the ".description" field in search.
$options_search
->setValue('FIELD_2_DESCRIPTION');
$page
->waitFor(10, function () use ($page) {
return !$page
->findField('name[views.views_test_field_1]')
->isVisible();
});
$this
->assertTrue($page
->findField('name[views.views_test_field_2]')
->isVisible());
$this
->assertFalse($page
->findField('name[views.views_test_field_1]')
->isVisible());
// Test the "label" field not in search.
$options_search
->setValue('FIELD_1_LABEL');
$page
->waitFor(10, function () use ($page) {
return !$page
->findField('name[views.views_test_field_2]')
->isVisible();
});
$this
->assertFalse($page
->findField('name[views.views_test_field_2]')
->isVisible());
$this
->assertFalse($page
->findField('name[views.views_test_field_1]')
->isVisible());
}
}