protected function DisplayFeedTest::checkFeedViewUi in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views_ui/tests/src/Functional/DisplayFeedTest.php \Drupal\Tests\views_ui\Functional\DisplayFeedTest::checkFeedViewUi()
- 10 core/modules/views_ui/tests/src/Functional/DisplayFeedTest.php \Drupal\Tests\views_ui\Functional\DisplayFeedTest::checkFeedViewUi()
Checks views UI for a specific feed view.
Parameters
string $view_name: The view name to check against.
1 call to DisplayFeedTest::checkFeedViewUi()
- DisplayFeedTest::testFeedUI in core/
modules/ views_ui/ tests/ src/ Functional/ DisplayFeedTest.php - Tests feed display admin UI.
File
- core/
modules/ views_ui/ tests/ src/ Functional/ DisplayFeedTest.php, line 48
Class
- DisplayFeedTest
- Tests the UI for feed display plugin.
Namespace
Drupal\Tests\views_ui\FunctionalCode
protected function checkFeedViewUi($view_name) {
$this
->drupalGet('admin/structure/views');
// Verify that the page lists the $view_name view.
// Regression test: ViewListBuilder::getDisplayPaths() did not properly
// check whether a DisplayPluginCollection was returned in iterating over
// all displays.
$this
->assertSession()
->pageTextContains($view_name);
// Check the attach TO interface.
$this
->drupalGet('admin/structure/views/nojs/display/' . $view_name . '/feed_1/displays');
// Display labels should be escaped.
$this
->assertSession()
->assertEscaped('<em>Page</em>');
// Load all the options of the checkbox.
$result = $this
->xpath('//div[@id="edit-displays"]/div');
$options = [];
foreach ($result as $item) {
$input_node = $item
->find('css', 'input');
if ($input_node
->hasAttribute('value')) {
$options[] = $input_node
->getAttribute('value');
}
}
$this
->assertEquals([
'default',
'page',
], $options, 'Make sure all displays appears as expected.');
// Post and save this and check the output.
$this
->drupalGet('admin/structure/views/nojs/display/' . $view_name . '/feed_1/displays');
$this
->submitForm([
'displays[page]' => 'page',
], 'Apply');
// Options summary should be escaped.
$this
->assertSession()
->assertEscaped('<em>Page</em>');
$this
->assertSession()
->responseNotContains('<em>Page</em>');
$this
->drupalGet('admin/structure/views/view/' . $view_name . '/edit/feed_1');
$this
->assertSession()
->elementTextContains('xpath', '//*[@id="views-feed-1-displays"]', 'Page');
// Add the default display, so there should now be multiple displays.
$this
->drupalGet('admin/structure/views/nojs/display/' . $view_name . '/feed_1/displays');
$this
->submitForm([
'displays[default]' => 'default',
], 'Apply');
$this
->drupalGet('admin/structure/views/view/' . $view_name . '/edit/feed_1');
$this
->assertSession()
->elementTextContains('xpath', '//*[@id="views-feed-1-displays"]', 'Multiple displays');
}