/** * 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.'); }
/** * Not allowed resources are not available on menu level. * In case if type it via URL - "Access Denied" page appeared. * * @param User $user * @param AdminAuthLogin $adminAuthLogin * @param Dashboard $dashboard * @param Browser $browser * @return void */ public function processAssert(User $user, AdminAuthLogin $adminAuthLogin, Dashboard $dashboard, Browser $browser) { $adminPanelHeader = $dashboard->getAdminPanelHeader(); if ($adminPanelHeader->isVisible()) { $adminPanelHeader->logOut(); } $adminAuthLogin->getLoginBlock()->loginToAdminPanel($user->getData()); $menuItems = $adminPanelHeader->getMenuFirstLevelItems(); \PHPUnit_Framework_Assert::assertTrue(count($menuItems) == 1 && in_array('Sales', $menuItems), 'Sales menu item is not visible or count of menu items is greater than 1.'); $browser->open($_ENV['app_backend_url'] . $this->manageProductsUrl); \PHPUnit_Framework_Assert::assertTrue(strpos($dashboard->getMainBlock()->getMainBlockText(), self::ACCESS_DENIED) !== false, self::ACCESS_DENIED . " text is not visible on dashboard page."); }
/** * Assert that user have custom role. * * @param User $user * @param AdminAuthLogin $adminAuth * @param Dashboard $dashboard * @param CatalogCategoryIndex $categoryIndex * @param User $customAdmin [optional] * @return void */ public function processAssert(User $user, AdminAuthLogin $adminAuth, Dashboard $dashboard, CatalogCategoryIndex $categoryIndex, User $customAdmin = null) { $adminUser = $customAdmin === null ? $user : $customAdmin; $adminPanelHeader = $dashboard->getAdminPanelHeader(); if ($adminPanelHeader->isVisible()) { $adminPanelHeader->logOut(); } $adminAuth->getLoginBlock()->loginToAdminPanel($adminUser->getData()); $role = $user->getDataFieldConfig('role_id')['source']->getRole(); $menuItems = $this->getMenuItems($role); foreach ($menuItems as $item) { \PHPUnit_Framework_Assert::assertTrue($adminPanelHeader->checkMenu(ucfirst($item)), "Menu {$item} is absent on top menu."); } // Check access denied message on category page. $categoryIndex->open(); \PHPUnit_Framework_Assert::assertTrue($categoryIndex->getContentBlock()->checkAccessDeniedMessage()); }
/** * Run prevent locked admin user log in to backend entity test. * * @param User $adminUser * @param int $countRetries * @return void */ public function test(User $adminUser, $countRetries) { $this->adminAuthLogin->open(); // Steps: $userName = $adminUser->getUsername(); for ($i = 1; $i <= $countRetries; $i++) { $this->login(['username' => $userName, 'password' => '123123qq']); } $this->login(['username' => $userName, 'password' => $adminUser->getPassword()]); }
/** * Prepare user for test. * * @param User $user * @param Role $role * @return User */ protected function prepareUser(User $user, Role $role) { $userData = $user->getData(); $userData['role_id'] = ['role' => $role]; unset($userData['user_id']); unset($userData['password_confirmation']); return $this->fixtureFactory->createByCode('user', ['data' => $userData]); }
/** * Asserts that error message equals to expected message. * * @param UserEdit $userEdit * @param User $user * @return void */ public function processAssert(UserEdit $userEdit, User $user) { $expectedMessage = sprintf(self::ERROR_MESSAGE, $user->getEmail()); $actualMessage = $userEdit->getMessagesBlock()->getErrorMessages(); \PHPUnit_Framework_Assert::assertEquals($expectedMessage, $actualMessage, 'Wrong error message is displayed.'); }
/** * Verify incorrect credentials message while login to admin. * * @param AdminAuthLogin $adminAuth * @param User $customAdmin * @return void */ public function processAssert(AdminAuthLogin $adminAuth, User $customAdmin) { $adminAuth->open(); $adminAuth->getLoginBlock()->loginToAdminPanel($customAdmin->getData()); \PHPUnit_Framework_Assert::assertEquals(self::INVALID_CREDENTIALS_MESSAGE, $adminAuth->getMessagesBlock()->getErrorMessages(), 'Message "' . self::INVALID_CREDENTIALS_MESSAGE . '" is not visible.'); }
/** * Prepare user fixture. * * @param User $user * @param array $data * @return FixtureInterface */ protected function prepareUserFixture(User $user, array $data) { $data['role_id'] = ['role' => $user->getDataFieldConfig('role_id')['source']->getRole()]; return $this->fixtureFactory->createByCode('user', ['data' => $data]); }