/** * @construct * @param FixtureFactory $fixtureFactory * @param array $params * @param array $data */ public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = []) { $this->params = $params; if (isset($data['dataset']) && $data['dataset'] !== '-') { list($fixtureCode, $dataset) = explode('::', $data['dataset']); $this->role = $fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); if (!$this->role->hasData('role_id')) { $this->role->persist(); } $this->data = $this->role->getRoleName(); } if (isset($data['role']) && $data['role'] instanceof Role) { $this->role = $data['role']; $this->data = $data['role']->getRoleName(); } elseif (isset($data['value'])) { $this->data = $data['value']; } }
/** * Runs Update Admin User Roles Entity test * * @param Role $roleInit * @param Role $role * @param User $user * @return array */ public function testUpdateAdminUserRolesEntity(Role $roleInit, Role $role, User $user) { // Preconditions $roleInit->persist(); if (!$user->hasData('user_id')) { $user->persist(); } // Steps $filter = ['rolename' => $roleInit->getRoleName()]; $this->adminAuthLogin->open(); $this->adminAuthLogin->getLoginBlock()->fill($user); $this->adminAuthLogin->getLoginBlock()->submit(); $this->rolePage->open(); $this->rolePage->getRoleGrid()->searchAndOpen($filter); $this->userRoleEditRole->getRoleFormTabs()->fill($role); $this->userRoleEditRole->getPageActions()->save(); return ['user' => $role->hasData('in_role_users') ? $role->getDataFieldConfig('in_role_users')['source']->getAdminUsers()[0] : $user]; }
/** * Asserts that role is not present in Role Grid. * * @param UserRoleIndex $rolePage * @param Role $role * @return void */ public function processAssert(UserRoleIndex $rolePage, Role $role) { $filter = ['rolename' => $role->getRoleName()]; $rolePage->open(); \PHPUnit_Framework_Assert::assertFalse($rolePage->getRoleGrid()->isRowVisible($filter), 'Role with name \'' . $role->getRoleName() . '\' is present in Roles grid.'); }
/** * Runs Delete User Role Entity test. * * @param Role $role * @param User $adminUser * @param string $isDefaultUser * @return void */ public function testDeleteAdminUserRole(Role $role, User $adminUser, $isDefaultUser) { $filter = ['rolename' => $role->getRoleName()]; //Steps if ($isDefaultUser == 0) { $this->adminAuthLogin->open(); $this->adminAuthLogin->getLoginBlock()->fill($adminUser); $this->adminAuthLogin->getLoginBlock()->submit(); } $this->userRoleIndex->open(); $this->userRoleIndex->getRoleGrid()->searchAndOpen($filter); $this->userRoleEditRole->getPageActions()->delete(); }
/** * @param Role $role * @param Role $updatedRole * @param User $user * @return void */ public function testLoginAfterChangingPermissions(Role $role, Role $updatedRole, User $user) { /** Create role and a new user with this role */ $role->persist(); /** @var User $user */ $user = $this->fixtureFactory->create('Magento\\User\\Test\\Fixture\\User', ['data' => array_merge($user->getData(), ['role_id' => ['role' => $role]])]); $user->persist(); /** Change the scope of resources available for the role created earlier */ $filter = ['rolename' => $role->getRoleName()]; $this->userRoleIndex->open(); $this->userRoleIndex->getRoleGrid()->searchAndOpen($filter); $this->userRoleEditRole->getRoleFormTabs()->fill($updatedRole); $this->userRoleEditRole->getPageActions()->save(); $this->dashboard->getAdminPanelHeader()->logOut(); }
/** * Asserts that saved role is present in Role Grid. * * @param UserRoleIndex $rolePage * @param Role $role * @param Role $roleInit * @return void */ public function processAssert(UserRoleIndex $rolePage, Role $role, Role $roleInit = null) { $filter = ['rolename' => $role->hasData('rolename') ? $role->getRoleName() : $roleInit->getRoleName()]; $rolePage->open(); \PHPUnit_Framework_Assert::assertTrue($rolePage->getRoleGrid()->isRowVisible($filter), 'Role with name \'' . $filter['rolename'] . '\' is absent in Roles grid.'); }