public function AjaxTest::testAjaxWithAdminRoute in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php \Drupal\FunctionalJavascriptTests\Ajax\AjaxTest::testAjaxWithAdminRoute()
- 9 core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php \Drupal\FunctionalJavascriptTests\Ajax\AjaxTest::testAjaxWithAdminRoute()
File
- core/
tests/ Drupal/ FunctionalJavascriptTests/ Ajax/ AjaxTest.php, line 24
Class
- AjaxTest
- Tests AJAX responses.
Namespace
Drupal\FunctionalJavascriptTests\AjaxCode
public function testAjaxWithAdminRoute() {
\Drupal::service('theme_installer')
->install([
'stable',
'claro',
]);
$theme_config = \Drupal::configFactory()
->getEditable('system.theme');
$theme_config
->set('admin', 'claro');
$theme_config
->set('default', 'stable');
$theme_config
->save();
$account = $this
->drupalCreateUser([
'view the administration theme',
]);
$this
->drupalLogin($account);
// First visit the site directly via the URL. This should render it in the
// admin theme.
$this
->drupalGet('admin/ajax-test/theme');
$assert = $this
->assertSession();
$assert
->pageTextContains('Current theme: claro');
// Now click the modal, which should also use the admin theme.
$this
->drupalGet('ajax-test/dialog');
$assert
->pageTextNotContains('Current theme: stable');
$this
->clickLink('Link 8 (ajax)');
$assert
->assertWaitOnAjaxRequest();
$assert
->pageTextContains('Current theme: stable');
$assert
->pageTextNotContains('Current theme: claro');
}