public function SettingsTrayTest::testOptOut in Drupal 9
Same name and namespace in other branches
- 8 core/modules/settings_tray/tests/src/Functional/SettingsTrayTest.php \Drupal\Tests\settings_tray\Functional\SettingsTrayTest::testOptOut()
Tests that certain blocks opt out from Settings Tray.
File
- core/
modules/ settings_tray/ tests/ src/ Functional/ SettingsTrayTest.php, line 88
Class
- SettingsTrayTest
- Tests opening and saving block forms in the off-canvas dialog.
Namespace
Drupal\Tests\settings_tray\FunctionalCode
public function testOptOut() {
$web_assert = $this
->assertSession();
$non_excluded_block = $this
->placeBlock('system_powered_by_block');
$excluded_block_plugin_ids = [
'page_title_block',
'system_main_block',
'settings_tray_test_false',
];
$block_selectors = [];
// Place blocks that should be excluded.
foreach ($excluded_block_plugin_ids as $excluded_block_plugin_id) {
// The block HTML 'id' attribute will be "block-[block_id]".
$block_selectors[] = $this
->getBlockSelector($this
->placeBlock($excluded_block_plugin_id));
}
$this
->drupalGet('');
// Assert that block has been marked as "editable" and contextual that
// should exist does.
$web_assert
->elementExists('css', $this
->getBlockSelector($non_excluded_block) . "[data-drupal-settingstray=\"editable\"]");
// Assert that each block that has a "forms[settings_tray] = FALSE" annotation:
// - is still rendered on the page
// - but is not marked as "editable" by settings_tray_preprocess_block()
// - and does not have the Settings Tray contextual link.
foreach ($block_selectors as $block_selector) {
$web_assert
->elementExists('css', $block_selector);
$web_assert
->elementNotExists('css', "{$block_selector}[data-drupal-settingstray=\"editable\"]");
$web_assert
->elementNotExists('css', "{$block_selector} [data-settings-tray-edit]");
}
}