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