protected function PageManagerAdminTest::doTestAddVariant in Page Manager 8.4
Tests adding a variant.
1 call to PageManagerAdminTest::doTestAddVariant()
- PageManagerAdminTest::testAdmin in page_manager_ui/
tests/ src/ Functional/ PageManagerAdminTest.php - Tests the Page Manager admin UI.
File
- page_manager_ui/
tests/ src/ Functional/ PageManagerAdminTest.php, line 260
Class
- PageManagerAdminTest
- Tests the admin UI for page entities.
Namespace
Drupal\Tests\page_manager_ui\FunctionalCode
protected function doTestAddVariant() {
$this
->drupalGet('admin/structure/page_manager/manage/foo/general');
// Add a new variant.
$this
->clickLink('Add variant');
$edit = [
'variant_plugin_id' => 'block_display',
'label' => 'First',
];
$this
->drupalPostForm(NULL, $edit, 'Next');
// Set the page title.
$edit = [
'variant_settings[page_title]' => 'Example title',
];
$this
->drupalPostForm(NULL, $edit, 'Next');
// Finish variant wizard without adding blocks.
$this
->drupalPostForm(NULL, [], 'Finish');
// Save page to apply variant changes.
$this
->drupalPostForm(NULL, [], 'Update and save');
// Test that the variant is still used but empty.
$this
->drupalGet('admin/foo');
$this
->assertResponse(200);
// Tests that the content region has no content at all.
$elements = $this
->getSession()
->getPage()
->findAll('css', 'div.region.region-content *');
// From Drupal 8.7, fallback area for messages is added by default.
// @see https://www.drupal.org/node/3002643
if (version_compare(\Drupal::VERSION, '8.7', '<')) {
$this
->assertEmpty($elements);
}
else {
$this
->assertCount(1, $elements);
$this
->assertTrue($elements[0]
->hasAttribute('data-drupal-messages-fallback'));
}
}