function FilterOptionsTest::testFilterOptionsAddFields
Tests filtering options in the 'Add fields' dialog.
File
- 
              core/modules/ views_ui/ tests/ src/ FunctionalJavascript/ FilterOptionsTest.php, line 44 
Class
- FilterOptionsTest
- Tests the JavaScript filtering of options in add handler form.
Namespace
Drupal\Tests\views_ui\FunctionalJavascriptCode
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());
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
