Ejemplo n.º 1
0
 /**
  * Asserts that user is present in User Grid.
  *
  * @param UserIndex $userIndex
  * @param User $user
  * @param User $customAdmin
  * @return void
  */
 public function processAssert(UserIndex $userIndex, User $user, User $customAdmin = null)
 {
     $adminUser = $user->hasData('password') || $user->hasData('username') ? $user : $customAdmin;
     $filter = ['username' => $adminUser->getUsername()];
     $userIndex->open();
     \PHPUnit_Framework_Assert::assertTrue($userIndex->getUserGrid()->isRowVisible($filter), 'User with name \'' . $adminUser->getUsername() . '\' is absent in User grid.');
 }
 /**
  * Asserts that error message equals to expected message.
  *
  * @param UserEdit $userEdit
  * @param User $user
  * @return void
  */
 public function processAssert(UserEdit $userEdit, User $user)
 {
     $email = $user->getEmail();
     $hostname = substr($email, strpos($email, '@') + 1);
     $expectedMessage = sprintf(self::ERROR_MESSAGE, $hostname, $email);
     $actualMessage = $userEdit->getMessagesBlock()->getErrorMessages();
     \PHPUnit_Framework_Assert::assertEquals($expectedMessage, $actualMessage, 'Wrong error message is displayed.' . "\nExpected: " . $expectedMessage . "\nActual: " . $actualMessage);
 }
 /**
  * Run Revoke all access tokens for admin without tokens test.
  *
  * @param User $user
  * @return void
  */
 public function test(User $user)
 {
     // Preconditions:
     $user->persist();
     // Steps:
     $this->userIndex->open();
     $this->userIndex->getUserGrid()->searchAndOpen(['username' => $user->getUsername()]);
     $this->userEdit->getPageActions()->forceSignIn();
 }
 /**
  * Run reset user password failed test.
  * @param User $customAdmin
  * @param int $attempts
  * @return void
  */
 public function test(User $customAdmin, $attempts)
 {
     // Steps
     $customAdmin->persist();
     for ($i = 0; $i < $attempts; $i++) {
         $this->userAccountForgotPassword->open();
         $this->userAccountForgotPassword->getForgotPasswordForm()->fill($customAdmin);
         $this->userAccountForgotPassword->getForgotPasswordForm()->submit();
     }
 }
Ejemplo n.º 5
0
 /**
  * Check that locked user can't log in to admin panel.
  *
  * @param ConfigData $config
  * @param User $customAdmin
  * @param string $incorrectPassword
  * @param int $attempts
  * @param AdminAuthLogin $adminAuth
  * @param FixtureFactory $fixtureFactory
  * @param AssertUserFailedLoginMessage $assertUserFailedLoginMessage
  * @return array
  */
 public function testUpdateAdminUser(ConfigData $config, User $customAdmin, $incorrectPassword, $attempts, AdminAuthLogin $adminAuth, FixtureFactory $fixtureFactory, AssertUserFailedLoginMessage $assertUserFailedLoginMessage)
 {
     // Preconditions
     $config->persist();
     $customAdmin->persist();
     /** @var User $incorrectUser */
     $incorrectUser = $fixtureFactory->createByCode('user', ['data' => ['username' => $customAdmin->getUsername(), 'password' => $incorrectPassword]]);
     // Steps and assertions
     for ($i = 0; $i < $attempts; $i++) {
         $assertUserFailedLoginMessage->processAssert($adminAuth, $incorrectUser);
     }
 }
 /**
  * Assert that Magento successfully installed.
  *
  * @param InstallConfig $installConfig
  * @param User $user
  * @param Install $installPage
  * @return void
  */
 public function processAssert(Install $installPage, InstallConfig $installConfig, User $user)
 {
     $adminData = $installPage->getInstallBlock()->getAdminInfo();
     $dbData = $installPage->getInstallBlock()->getDbInfo();
     $allData = array_merge($user->getData(), $installConfig->getData());
     foreach ($installConfig->getData() as $key => $value) {
         $allData[$key] = isset($value['value']) ? $value['value'] : $value;
     }
     $allData['admin'] = $allData['web'] . $allData['admin'] . '/';
     foreach ($this->adminFieldsList as $field) {
         \PHPUnit_Framework_Assert::assertEquals($allData[$field['fixture']], $adminData[$field['pageData']], 'Wrong admin information is displayed.');
     }
     foreach ($this->dbFieldsList as $field) {
         \PHPUnit_Framework_Assert::assertEquals($allData[$field['fixture']], $dbData[$field['pageData']], 'Wrong database information is displayed.');
     }
 }
 /**
  * Assert that Magento successfully installed.
  *
  * @param InstallConfig $installConfig
  * @param User $user
  * @param Install $installPage
  * @return void
  */
 public function processAssert(Install $installPage, InstallConfig $installConfig, User $user)
 {
     //TODO Nginx server does't make redirect after installation (random fail)
     sleep(5);
     if ($installPage->getInstallBlock()->isInstallationCompleted()) {
         return;
     }
     $adminData = $installPage->getInstallBlock()->getAdminInfo();
     $dbData = $installPage->getInstallBlock()->getDbInfo();
     $allData = array_merge($user->getData(), $installConfig->getData());
     foreach ($installConfig->getData() as $key => $value) {
         $allData[$key] = isset($value['value']) ? $value['value'] : $value;
     }
     $allData['baseUrl'] = isset($allData['https']) ? $allData['https'] : $allData['baseUrl'];
     $allData['admin'] = $allData['baseUrl'] . $allData['admin'] . '/';
     $this->checkInstallData($allData, $adminData, $dbData);
 }
 /**
  * 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];
 }
 /**
  * Runs Lock admin user when creating new role test.
  *
  * @param Role $role
  * @param int $attempts
  * @param User $customAdmin,
  * @param string $configData
  * @return void
  */
 public function testLockAdminUser(Role $role, $attempts, User $customAdmin, $configData = null)
 {
     $this->configData = $configData;
     // Preconditions
     $this->objectManager->create('Magento\\Config\\Test\\TestStep\\SetupConfigurationStep', ['configData' => $this->configData])->run();
     $customAdmin->persist();
     // Steps
     $this->adminAuthLogin->open();
     $this->adminAuthLogin->getLoginBlock()->fill($customAdmin);
     $this->adminAuthLogin->getLoginBlock()->submit();
     $this->userRoleIndex->open();
     $this->userRoleIndex->getRoleActions()->addNew();
     for ($i = 0; $i < $attempts; $i++) {
         $this->userRoleEditRole->getRoleFormTabs()->fill($role);
         $this->userRoleEditRole->getPageActions()->save();
     }
     // Reload
     $this->adminAuthLogin->open();
     $this->adminAuthLogin->getLoginBlock()->fill($customAdmin);
     $this->adminAuthLogin->getLoginBlock()->submit();
 }
 /**
  * @param User $user
  * @param User $adminUser
  * @param string $isDuplicated
  * @return void
  */
 public function test(User $user, User $adminUser, $isDuplicated)
 {
     // Prepare data
     if ($isDuplicated != '-') {
         $data = $user->getData();
         $data[$isDuplicated] = $adminUser->getData($isDuplicated);
         $data['role_id'] = ['role' => $user->getDataFieldConfig('role_id')['source']->getRole()];
         $user = $this->fixtureFactory->createByCode('user', ['data' => $data]);
     }
     // Steps
     $this->userIndexPage->open();
     $this->userIndexPage->getPageActions()->addNew();
     $this->userEditPage->getUserForm()->fill($user);
     $this->userEditPage->getPageActions()->save();
 }
 /**
  * Run Lock user when creating new integration test.
  *
  * @param Integration $integration
  * @param int $attempts
  * @param User $customAdmin
  * @param string $configData
  * @return void
  */
 public function test(Integration $integration, $attempts, User $customAdmin, $configData = null)
 {
     $this->configData = $configData;
     // Preconditions
     $this->objectManager->create('Magento\\Config\\Test\\TestStep\\SetupConfigurationStep', ['configData' => $this->configData])->run();
     $customAdmin->persist();
     $this->adminAuthLogin->open();
     $this->adminAuthLogin->getLoginBlock()->fill($customAdmin);
     $this->adminAuthLogin->getLoginBlock()->submit();
     // Steps
     $this->integrationIndexPage->open();
     $this->integrationIndexPage->getGridPageActions()->addNew();
     for ($i = 0; $i < $attempts; $i++) {
         $this->integrationNewPage->getIntegrationForm()->fill($integration);
         $this->integrationNewPage->getFormPageActions()->saveNew();
     }
     // Reload page
     $this->adminAuthLogin->open();
     $this->adminAuthLogin->getLoginBlock()->fill($customAdmin);
     $this->adminAuthLogin->getLoginBlock()->submit();
 }
 /**
  * Merging user data and returns custom user.
  *
  * @param User $initialUser
  * @param User $user
  * @return User
  */
 protected function mergeUsers(User $initialUser, User $user)
 {
     $data = array_merge($initialUser->getData(), $user->getData());
     if (isset($data['role_id'])) {
         $data['role_id'] = ['role' => $user->hasData('role_id') ? $user->getDataFieldConfig('role_id')['source']->getRole() : $initialUser->getDataFieldConfig('role_id')['source']->getRole()];
     }
     return $this->fixtureFactory->createByCode('user', ['data' => $data]);
 }
 /**
  * Runs Delete User Entity test
  *
  * @param User $user
  * @param string $isDefaultUser
  * @return void
  */
 public function testDeleteAdminUserEntity(User $user, $isDefaultUser)
 {
     $filter = ['username' => $user->getUsername()];
     //Steps
     if ($isDefaultUser == 0) {
         $this->adminAuthLogin->open();
         $this->adminAuthLogin->getLoginBlock()->fill($user);
         $this->adminAuthLogin->getLoginBlock()->submit();
     }
     $this->userIndex->open();
     $this->userIndex->getUserGrid()->searchAndOpen($filter);
     $this->userEdit->getPageActions()->delete();
 }
 /**
  * Asserts that user is present in User Grid.
  *
  * @param UserIndex $userIndex
  * @param User $user
  * @return void
  */
 public function processAssert(UserIndex $userIndex, User $user)
 {
     $filter = ['username' => $user->getUsername()];
     $userIndex->open();
     \PHPUnit_Framework_Assert::assertTrue($userIndex->getUserGrid()->isRowVisible($filter), 'User with name \'' . $user->getUsername() . '\' is absent in User grid.');
 }