/**
  * 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.');
 }
예제 #3
0
 /**
  * Run menu navigation test.
  *
  * @param Dashboard $dashboard
  * @param string $menuItem
  * @return void
  */
 public function test(Dashboard $dashboard, $menuItem)
 {
     $dashboard->open();
     $dashboard->getMenuBlock()->navigate($menuItem);
 }