/**
  * 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];
 }
示例#2
0
 /**
  * @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'];
     }
 }
 /**
  * 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.');
 }