function CToolsViewsEntityViewBlockTest::testConfigureFiltersTaxonomyAutocomplete
Test ctools_views 'configure_filters' with taxonomy term autocomplete.
File
-
modules/
ctools_views/ tests/ src/ Functional/ CToolsViewsEntityViewBlockTest.php, line 396
Class
- CToolsViewsEntityViewBlockTest
- Tests the ctools_views block display plugin overriding entity View filters.
Namespace
Drupal\Tests\ctools_views\FunctionalCode
public function testConfigureFiltersTaxonomyAutocomplete() {
$default_theme = $this->config('system.theme')
->get('default');
$tid = $this->terms[0]
->id();
// Get the "Configure block" form for our Views block.
$this->drupalGet('admin/structure/block/add/views_block:ctools_views_entity_test-block_filter_auto/' . $default_theme);
$this->assertSession()
->fieldExists('settings[exposed][filter-field_ctools_views_tags_target_id][field_ctools_views_tags_target_id]');
// Add block to sidebar_first region with default settings.
$edit = [];
$edit['region'] = 'sidebar_first';
$edit['id'] = 'views_block__ctools_views_entity_test_block_filter_auto';
$this->drupalGet('admin/structure/block/add/views_block:ctools_views_entity_test-block_filter_auto/' . $default_theme);
$this->submitForm($edit, 'Save block');
// Assert configure_filters default settings.
$this->drupalGet('<front>');
// Check that the default settings return all results.
$this->assertEquals(3, count($this->xpath('//div[contains(@class, "view-display-id-block_filter_auto")]//table/tbody/tr')));
// Override configure_filters settings.
$edit = [];
$edit['region'] = 'sidebar_first';
$filter_term = $this->terms[0];
$filter_value = EntityAutocomplete::getEntityLabels([
$filter_term,
]);
$edit['settings[exposed][filter-field_ctools_views_tags_target_id][field_ctools_views_tags_target_id]'] = $filter_value;
$this->drupalGet('admin/structure/block/manage/views_block__ctools_views_entity_test_block_filter_auto');
$this->submitForm($edit, 'Save block');
$block = $this->storage
->load('views_block__ctools_views_entity_test_block_filter_auto');
$config = $block->getPlugin()
->getConfiguration();
$this->assertEquals([
$tid,
], $config['exposed']['filter-field_ctools_views_tags_target_id']['value'], "'configure_filters' setting is properly saved.");
// Check rendered value of autosubmit field in reloaded form.
$this->drupalGet('admin/structure/block/manage/views_block__ctools_views_entity_test_block_filter_auto');
$this->assertSession()
->elementTextEquals('xpath', '//input[@data-drupal-selector="edit-settings-exposed-filter-field-ctools-views-tags-target-id-field-ctools-views-tags-target-id"]/@value', $filter_value);
// Assert configure_filters overridden settings.
$this->drupalGet('<front>');
// Check that the overridden settings return proper results.
$this->assertEquals(1, count($this->xpath('//div[contains(@class, "view-display-id-block_filter_auto")]//table/tbody/tr')));
}