function TaxonomyIndexTidUiTest::testExposedGroupedFilter
Same name and namespace in other branches
- 10 core/modules/taxonomy/tests/src/Functional/Views/TaxonomyIndexTidUiTest.php \Drupal\Tests\taxonomy\Functional\Views\TaxonomyIndexTidUiTest::testExposedGroupedFilter()
- 11.x core/modules/taxonomy/tests/src/Functional/Views/TaxonomyIndexTidUiTest.php \Drupal\Tests\taxonomy\Functional\Views\TaxonomyIndexTidUiTest::testExposedGroupedFilter()
Tests exposed grouped taxonomy filters.
File
-
core/
modules/ taxonomy/ tests/ src/ Functional/ Views/ TaxonomyIndexTidUiTest.php, line 281
Class
- TaxonomyIndexTidUiTest
- Tests the taxonomy index filter handler UI.
Namespace
Drupal\Tests\taxonomy\Functional\ViewsCode
public function testExposedGroupedFilter() {
// Create a content type with a taxonomy field.
$this->drupalCreateContentType([
'type' => 'article',
]);
$field_name = 'field_views_testing_tags';
$this->createEntityReferenceField('node', 'article', $field_name, NULL, 'taxonomy_term');
$nodes = [];
for ($i = 0; $i < 3; $i++) {
$node = [];
$node['type'] = 'article';
$node['field_views_testing_tags'][0]['target_id'] = $this->terms[$i][0]
->id();
$nodes[] = $this->drupalCreateNode($node);
}
$this->drupalGet('/admin/structure/views/nojs/handler/test_taxonomy_exposed_grouped_filter/page_1/filter/field_views_testing_tags_target_id');
$edit = [
'options[group_info][group_items][1][value][]' => [
$this->terms[0][0]
->id(),
$this->terms[1][0]
->id(),
],
'options[group_info][group_items][2][value][]' => [
$this->terms[1][0]
->id(),
$this->terms[2][0]
->id(),
],
'options[group_info][group_items][3][value][]' => [
$this->terms[2][0]
->id(),
$this->terms[0][0]
->id(),
],
];
$this->submitForm($edit, 'Apply');
$this->submitForm([], 'Save');
// Visit the view's page url and validate the results.
$this->drupalGet('/test-taxonomy-exposed-grouped-filter');
$this->submitForm([
'field_views_testing_tags_target_id' => 1,
], 'Apply');
$this->assertSession()
->pageTextContains($nodes[0]->getTitle());
$this->assertSession()
->pageTextContains($nodes[1]->getTitle());
$this->assertSession()
->pageTextNotContains($nodes[2]->getTitle());
$this->submitForm([
'field_views_testing_tags_target_id' => 2,
], 'Apply');
$this->assertSession()
->pageTextContains($nodes[1]->getTitle());
$this->assertSession()
->pageTextContains($nodes[2]->getTitle());
$this->assertSession()
->pageTextNotContains($nodes[0]->getTitle());
$this->submitForm([
'field_views_testing_tags_target_id' => 3,
], 'Apply');
$this->assertSession()
->pageTextContains($nodes[0]->getTitle());
$this->assertSession()
->pageTextContains($nodes[2]->getTitle());
$this->assertSession()
->pageTextNotContains($nodes[1]->getTitle());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.