/** * 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."); }
/** * 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 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]); }
/** * Prepare User fixture. * * @param User $user * @param User $adminUser * @param null|string $duplicatedParam * @param bool $isCustomRole * @return User */ protected function prepareUser(User $user, User $adminUser, $duplicatedParam, $isCustomRole) { if (!empty($duplicatedParam)) { $data = $user->getData(); $data[$duplicatedParam] = $adminUser->getData($duplicatedParam); $user = $this->prepareUserFixture($user, $data); } elseif ($isCustomRole) { $data = $user->getData(); $user = $this->prepareUserFixture($user, $data); } return $user; }