public function BlockAddTest::testBlockAddThemeSelector in Drupal 10
Tests the AJAX for the theme selector.
File
- core/
modules/ block/ tests/ src/ FunctionalJavascript/ BlockAddTest.php, line 30
Class
- BlockAddTest
- Tests the JS functionality in the block add form.
Namespace
Drupal\Tests\block\FunctionalJavascriptCode
public function testBlockAddThemeSelector() {
\Drupal::service('theme_installer')
->install([
'claro',
]);
$this
->drupalLogin($this
->drupalCreateUser([
'administer blocks',
]));
$this
->drupalGet('admin/structure/block/add/system_powered_by_block');
$assert_session = $this
->assertSession();
// Pick a theme with a region that does not exist in another theme.
$assert_session
->selectExists('Theme')
->selectOption('claro');
$assert_session
->assertWaitOnAjaxRequest();
$assert_session
->selectExists('Region')
->selectOption('pre_content');
$assert_session
->assertWaitOnAjaxRequest();
// Switch to a theme that doesn't contain the region selected above.
$assert_session
->selectExists('Theme')
->selectOption('stark');
$assert_session
->assertWaitOnAjaxRequest();
$assert_session
->pageTextNotContains('An illegal choice has been detected. Please contact the site administrator.');
$assert_session
->optionExists('Region', '- Select -');
}