public function PanelizerNodeTranslationsTest::_testWizardUI in Panelizer 8.4
Same name and namespace in other branches
- 8.5 tests/src/Functional/PanelizerNodeTranslationsTest.php \Drupal\Tests\panelizer\Functional\PanelizerNodeTranslationsTest::_testWizardUI()
Tests the admin interface to set a default layout for a bundle.
File
- tests/
src/ Functional/ PanelizerNodeTranslationsTest.php, line 70
Class
- PanelizerNodeTranslationsTest
- Test node translation handling in Panelizer.
Namespace
Drupal\Tests\panelizer\FunctionalCode
public function _testWizardUI() {
$this
->panelize($this->bundle, NULL, [
'panelizer[custom]' => TRUE,
]);
// Enter the wizard.
$this
->drupalGet("admin/structure/panelizer/edit/{$this->entityTypeId}__{$this->bundle}__default__default");
$this
->assertResponse(200);
$this
->assertText('Wizard Information');
$this
->assertField('edit-label');
// Contexts step.
$this
->clickLink('Contexts');
$this
->assertText('@panelizer.entity_context:entity', 'The current entity context is present.');
// Layout selection step.
$this
->clickLink('Layout');
$this
->assertSession()
->buttonExists('edit-update-layout');
// Content step. Add the Node block to the top region.
// @todo The index will have to change if the install profile is changed.
$this
->clickLink('Content', 1);
$this
->clickLink('Add new block');
$this
->clickLink('Title');
$edit = [
'region' => 'content',
];
$this
->drupalPostForm(NULL, $edit, t('Add block'));
$this
->assertResponse(200);
// Finish the wizard.
$this
->drupalPostForm(NULL, [], t('Update and save'));
$this
->assertResponse(200);
// Confirm this returned to the main wizard page.
$this
->assertText('Wizard Information');
$this
->assertField('edit-label');
// Return to the Manage Display page, which is where the Cancel button
// currently sends you. That's a UX WTF and should be fixed...
$this
->drupalPostForm(NULL, [], t('Cancel'));
$this
->assertResponse(200);
// Confirm the page is back to the content type settings page.
$this
->assertFieldChecked('edit-panelizer-custom');
// Now change and save the general setting.
$edit = [
'panelizer[custom]' => FALSE,
];
$this
->drupalPostForm(NULL, $edit, t('Save'));
$this
->assertResponse(200);
$this
->assertNoFieldChecked('edit-panelizer-custom');
// Add another block at the Content step and then save changes.
$this
->drupalGet("admin/structure/panelizer/edit/{$this->entityTypeId}__{$this->bundle}__default__default/content");
$this
->assertResponse(200);
$this
->clickLink('Add new block');
$this
->clickLink('Body');
$edit = [
'region' => 'content',
];
$this
->drupalPostForm(NULL, $edit, t('Add block'));
$this
->assertResponse(200);
$this
->assertText("entity_field:{$this->entityTypeId}:body", 'The body block was added successfully.');
$this
->drupalPostForm(NULL, [], t('Save'));
$this
->assertResponse(200);
$this
->clickLink('Content', 1);
$this
->assertText("entity_field:{$this->entityTypeId}:body", 'The body block was saved successfully.');
// Check that the Manage Display tab changed now that Panelizer is set up.
// Also, the field display table should be hidden.
$this
->assertNoRaw('<div id="field-display-overview-wrapper">');
// Disable Panelizer for the default display mode. This should bring back
// the field overview table at Manage Display and not display the link to
// edit the default Panelizer layout.
$this
->unpanelize($this->bundle);
$this
->assertNoLinkByHref("admin/structure/panelizer/edit/{$this->entityTypeId}__{$this->bundle}__default");
$this
->assertRaw('<div id="field-display-overview-wrapper">');
}