protected function MasqueradeWebTestBase::setUp in Masquerade 8.2
Overrides BrowserTestBase::setUp
File
- tests/
src/ Functional/ MasqueradeWebTestBase.php, line 76
Class
- MasqueradeWebTestBase
- Base test class for Masquerade module web tests.
Namespace
Drupal\Tests\masquerade\FunctionalCode
protected function setUp() {
parent::setUp();
// Create and configure User module's admin role.
$this->admin_role = Role::create([
'id' => 'administrator',
'label' => 'Administrator',
]);
// Users in this role get all permissions assigned by default.
$this->admin_role
->set('is_admin', TRUE)
->save();
// Create a 'masquerade' role to masquerade as users without roles.
$this->masquerade_role = Role::create([
'id' => 'masquerade',
'label' => 'Masquerade',
]);
$this->masquerade_role
->grantPermission('masquerade as authenticated')
->save();
// Create an additional 'editor' role to masquerade as basic users.
$this->editor_role = Role::create([
'id' => 'editor',
'label' => 'Editor',
]);
$this->editor_role
->grantPermission('masquerade as masquerade')
->grantPermission('masquerade as authenticated')
->save();
// Create a 'lead' role to masquerade as editors.
$this->leadRole = Role::create([
'id' => 'lead',
'label' => 'Lead Editor',
]);
$this->leadRole
->grantPermission('masquerade as editor')
->grantPermission('masquerade as authenticated')
->save();
// Create an additional 'moderator' role to check 'masquerade as any user'.
$this->moderator_role = Role::create([
'id' => 'moderator',
'label' => 'Moderator',
]);
$this->moderator_role
->grantPermission('masquerade as any user')
->save();
// Create test users with varying privilege levels.
// Administrative user with User module's admin role *only*.
$this->admin_user = $this
->drupalCreateUser();
$this->admin_user
->setUsername('admin_user');
$this->admin_user
->addRole($this->admin_role
->id());
$this->admin_user
->save();
// Moderator user.
$this->moderator_user = $this
->drupalCreateUser();
$this->moderator_user
->setUsername('moderator_user');
$this->moderator_user
->addRole($this->moderator_role
->id());
$this->moderator_user
->save();
// Editor user.
$this->editor_user = $this
->drupalCreateUser();
$this->editor_user
->setUsername('editor_user');
$this->editor_user
->addRole($this->editor_role
->id());
$this->editor_user
->save();
// Lead editor user.
$this->leadEditorUser = $this
->drupalCreateUser();
$this->leadEditorUser
->setUsername('lead_editor_user');
$this->leadEditorUser
->addRole($this->leadRole
->id());
$this->leadEditorUser
->save();
// Super user.
$this->superUser = $this
->drupalCreateUser();
$this->superUser
->setUsername('super_user');
$this->superUser
->addRole($this->editor_role
->id());
$this->superUser
->addRole($this->admin_role
->id());
$this->superUser
->save();
// Masquerade user.
$this->masquerade_user = $this
->drupalCreateUser();
$this->masquerade_user
->setUsername('masquerade_user');
$this->masquerade_user
->addRole($this->masquerade_role
->id());
$this->masquerade_user
->save();
// Authenticated user.
$this->auth_user = $this
->drupalCreateUser();
// Place block to allow unmasquerade link accessible.
$this
->drupalPlaceBlock('system_menu_block:account');
}