/** * Asserts that user has only related permissions. * * @param BrowserInterface $browser * @param Dashboard $dashboard * @param User $user * @param array $restrictedAccess * @param string $denyUrl * @return void */ public function processAssert(BrowserInterface $browser, Dashboard $dashboard, User $user, array $restrictedAccess, $denyUrl) { $this->objectManager->create('Magento\\User\\Test\\TestStep\\LoginUserOnBackendStep', ['user' => $user])->run(); $menuItems = $dashboard->getMenuBlock()->getTopMenuItems(); \PHPUnit_Framework_Assert::assertEquals($menuItems, $restrictedAccess, 'Wrong display menu.'); $browser->open($_ENV['app_backend_url'] . $denyUrl); $deniedMessage = $dashboard->getAccessDeniedBlock()->getTextFromAccessDeniedBlock(); \PHPUnit_Framework_Assert::assertEquals(self::DENIED_ACCESS, $deniedMessage, 'Possible access to denied page.'); }
/** * Asserts that user has only Sales-related permissions * * @param Dashboard $dashboard * @param UserIndex $userIndex * @return void */ public function processAssert(Dashboard $dashboard, UserIndex $userIndex) { $menuItems = $dashboard->getMenuBlock()->getTopMenuItems(); $userIndex->open(); $deniedMessage = $userIndex->getAccessDeniedBlock()->getTextFromAccessDeniedBlock(); $isMenuItemSingle = count($menuItems) == 1; $hasSales = in_array(self::ROLE_RESOURCE, $menuItems); \PHPUnit_Framework_Assert::assertTrue($hasSales && $isMenuItemSingle && self::DENIED_ACCESS == $deniedMessage, 'Sales item is absent in Menu block or possible access to another page, not related to Sales.'); }
/** * Run menu navigation test. * * @param Dashboard $dashboard * @param string $menuItem * @return void */ public function test(Dashboard $dashboard, $menuItem) { $dashboard->open(); $dashboard->getMenuBlock()->navigate($menuItem); }