public function PanelizerIpeTest::testAdministerEntityLayoutPermission in Panelizer 8.5
Same name and namespace in other branches
- 8.4 tests/src/Functional/PanelizerIpeTest.php \Drupal\Tests\panelizer\Functional\PanelizerIpeTest::testAdministerEntityLayoutPermission()
@todo Confirm the 'administer panelizer $entity_type_id $bundle layout' permission works.
File
- tests/
src/ Functional/ PanelizerIpeTest.php, line 232
Class
- PanelizerIpeTest
- Confirm that the IPE functionality works.
Namespace
Drupal\Tests\panelizer\FunctionalCode
public function testAdministerEntityLayoutPermission() {
// Need the node for the tests below, so create it now.
$node = $this
->createTestNode();
// Test with just the 'layout' permission
$perms = [
'administer panelizer node page layout',
];
$drupalSettings = $this
->setupPermissionTests($perms, $node);
$this
->assertNotNull($drupalSettings);
if (!empty($drupalSettings)) {
$this
->assertFalse(isset($drupalSettings['panels_ipe']));
$this
->assertFalse(isset($drupalSettings['panelizer']));
}
// Make sure the user is logged out before doing another pass.
$this
->drupalLogout();
// Test with the 'revert' and the 'content' permission.
$perms = [
// The permission to be tested.
'administer panelizer node page layout',
// This permission has to be enabled for the 'revert' permission to work.
'administer panelizer node page content',
];
$drupalSettings = $this
->setupPermissionTests($perms, $node);
$this
->assertNotNull($drupalSettings);
// @todo How to tell if the user can change the layout vs other tasks?
if (!empty($drupalSettings)) {
$this
->assertArrayHasKey('panels_ipe', $drupalSettings);
$this
->assertArrayHasKey('regions', $drupalSettings['panels_ipe']);
$this
->assertArrayHasKey('layout', $drupalSettings['panels_ipe']);
$this
->assertArrayHasKey('user_permission', $drupalSettings['panels_ipe']);
$this
->assertArrayHasKey('panels_display', $drupalSettings['panels_ipe']);
$this
->assertArrayHasKey('unsaved', $drupalSettings['panels_ipe']);
$this
->assertArrayHasKey('panelizer', $drupalSettings);
$this
->assertArrayHasKey('entity', $drupalSettings['panelizer']);
$this
->assertArrayHasKey('entity_type_id', $drupalSettings['panelizer']['entity']);
$this
->assertEqual($drupalSettings['panelizer']['entity']['entity_type_id'], 'node');
$this
->assertArrayHasKey('entity_id', $drupalSettings['panelizer']['entity']);
$this
->assertEqual($drupalSettings['panelizer']['entity']['entity_id'], $node
->id());
$this
->assertArrayHasKey('user_permission', $drupalSettings['panelizer']);
$this
->assertArrayHasKey('revert', $drupalSettings['panelizer']['user_permission']);
$this
->assertArrayHasKey('save_default', $drupalSettings['panelizer']['user_permission']);
$this
->assertFalse($drupalSettings['panelizer']['user_permission']['revert']);
$this
->assertFalse($drupalSettings['panelizer']['user_permission']['save_default']);
}
}