/** * 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(); } }
/** * 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.'); }