/**
  * testGetMenuVisiblePermission
  *
  * @return void
  */
 public function testGetMenuVisiblePermission()
 {
     $permissionFactory = $this->permissionFactory;
     $permissionFactory->shouldReceive('findRegistered')->andReturn($permissionFactory);
     $permissionFactory->shouldReceive('offsetGet')->andReturn(['rating' => 'test rating grant', 'group' => 'test group grant', 'user' => 'test user grant', 'except' => 'test except grant']);
     $groupRepo = $this->groupRepoMock;
     $memberRepo = $this->memberRepoMock;
     $groupRepo->shouldReceive('findAll')->with('test group grant')->andReturn('test group grant');
     $memberRepo->shouldReceive('findAll')->with('test user grant')->andReturn('test user grant');
     $memberRepo->shouldReceive('findAll')->with('test except grant')->andReturn('test except grant');
     $permissionHandler = new MenuPermissionHandler($permissionFactory, $groupRepo, $memberRepo);
     $menu = $this->getSampleMenuEntity();
     $permission = $permissionHandler->getMenuVisiblePermission($menu);
     $this->assertEquals(['rating' => 'test rating grant', 'group' => 'test group grant', 'user' => 'test user grant', 'except' => 'test except grant'], $permission);
 }
 /**
  * editMenuPermission
  *
  * @param MenuRetrieveHandler   $menuHandler       menu handler
  * @param MenuPermissionHandler $permissionHandler menu permission handler
  * @param string                $menuId            menu id
  *
  * @return RendererInterface
  */
 public function editMenuPermission(MenuRetrieveHandler $menuHandler, MenuPermissionHandler $permissionHandler, $menuId)
 {
     $menu = $menuHandler->getMenu($menuId);
     $accessPermission = $permissionHandler->getMenuAccessPermission($menu);
     $visiblePermission = $permissionHandler->getMenuVisiblePermission($menu);
     return Presenter::make('menu.permission', ['menu' => $menu, 'access' => ['grant' => $accessPermission, 'title' => 'access'], 'visible' => ['grant' => $visiblePermission, 'title' => 'visible']]);
 }