function DisplayPathTest::testUseAdminTheme
Same name in other branches
- 10 core/modules/views_ui/tests/src/Functional/DisplayPathTest.php \Drupal\Tests\views_ui\Functional\DisplayPathTest::testUseAdminTheme()
Tests the "Use the administration theme" configuration.
See also
\Drupal\Tests\views\Functional\Plugin\DisplayPageWebTest::testAdminTheme
File
-
core/
modules/ views_ui/ tests/ src/ Functional/ DisplayPathTest.php, line 299
Class
- DisplayPathTest
- Tests the UI of generic display path plugin.
Namespace
Drupal\Tests\views_ui\FunctionalCode
public function testUseAdminTheme() : void {
$this->drupalGet('admin/structure/views/view/test_view');
// Add a new page display.
$this->submitForm([], 'Add Page');
$this->assertSession()
->pageTextContains('No path is set');
$this->assertSession()
->pageTextContains('Administration theme: No');
// Test with a path starting with "/admin".
$admin_path = 'admin/test_admin_path';
$this->drupalGet('admin/structure/views/nojs/display/test_view/page_1/path');
$this->submitForm([
'path' => $admin_path,
], 'Apply');
$this->assertSession()
->pageTextContains('/' . $admin_path);
$this->assertSession()
->pageTextContains('Administration theme: Yes (admin path)');
$this->submitForm([], 'Save');
$this->assertConfigSchemaByName('views.view.test_view');
$display_options = $this->config('views.view.test_view')
->get('display.page_1.display_options');
$this->assertArrayNotHasKey('use_admin_theme', $display_options);
$this->drupalGet('admin/structure/views/nojs/display/test_view/page_1/use_admin_theme');
$this->assertSession()
->elementExists('css', 'input[name="use_admin_theme"][disabled="disabled"][checked="checked"]');
// Test with a non-administration path.
$non_admin_path = 'kittens';
$this->drupalGet('admin/structure/views/nojs/display/test_view/page_1/path');
$this->submitForm([
'path' => $non_admin_path,
], 'Apply');
$this->assertSession()
->pageTextContains('/' . $non_admin_path);
$this->assertSession()
->pageTextContains('Administration theme: No');
$this->submitForm([], 'Save');
$this->assertConfigSchemaByName('views.view.test_view');
$display_options = $this->config('views.view.test_view')
->get('display.page_1.display_options');
$this->assertArrayNotHasKey('use_admin_theme', $display_options);
// Enable administration theme.
$this->drupalGet('admin/structure/views/nojs/display/test_view/page_1/use_admin_theme');
$this->submitForm([
'use_admin_theme' => TRUE,
], 'Apply');
$this->assertSession()
->pageTextContains('Administration theme: Yes');
$this->submitForm([], 'Save');
$this->assertConfigSchemaByName('views.view.test_view');
$display_options = $this->config('views.view.test_view')
->get('display.page_1.display_options');
$this->assertArrayHasKey('use_admin_theme', $display_options);
$this->assertTrue($display_options['use_admin_theme']);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.