public function Select2BefTests::testListExposedFilters in Select2 Boxes 8
Test list exposed filters.
File
- modules/
select2_bef/ tests/ src/ FunctionalJavascript/ Select2BefTests.php, line 164
Class
- Select2BefTests
- Class for testing Select2Bef.
Namespace
Drupal\Tests\select2_bef\FunctionalJavascriptCode
public function testListExposedFilters() {
$page = $this
->getSession()
->getPage();
$assert_session = $this
->assertSession();
// Generate fake contents for testing.
$this
->generateDummyTerms('tags', 10);
$this
->generateDummyContent(10);
$this
->drupalGet('admin/structure/views/view/test');
// Add filter by test list field using the View's UI.
$this
->click('a[id="views-add-filter"]');
$assert_session
->assertWaitOnAjaxRequest();
$page
->fillField('override[controls][options_search]', 'Test');
$page
->checkField('name[node__field_test_list.field_test_list_value]');
$this
->click('button.button--primary');
$assert_session
->waitForElementRemoved('css', '.views-ui-dialog');
// Make filter exposed.
$page
->checkField('options[expose_button][checkbox][checkbox]');
$assert_session
->assertWaitOnAjaxRequest();
$this
->click('button.button--primary');
$assert_session
->waitForElementRemoved('css', '.views-ui-dialog');
$this
->drupalGet('admin/structure/views/nojs/display/test/default/exposed_form');
$edit = [
'exposed_form[type]' => 'bef',
];
$this
->submitForm($edit, 'Apply');
$this
->drupalGet('admin/structure/views/nojs/display/test/default/exposed_form_options');
$this
->click('summary[role="button"]');
$page
->selectFieldOption('exposed_form_options[bef][filter][field_test_list_value][configuration][plugin_id]', 'select2boxes');
$page
->pressButton('Apply');
$page
->pressButton('Save');
$assert_session
->pageTextContains('The view Test has been saved.');
$this
->drupalGet('test');
$select = $assert_session
->elementExists('css', '#edit-field-test-list-value');
// Check if all required html attributes are existing for the entity
// reference field.
$assert_session
->elementAttributeExists('css', '#edit-field-test-list-value', 'data-jquery-once-autocomplete');
$assert_session
->elementAttributeExists('css', '#edit-field-test-list-value', 'data-select2-autocomplete-list-widget');
$this
->assertTrue($select
->hasClass('select2-widget'));
}