/** * testGetMenuAccessPermission * * @return void */ public function testGetMenuAccessPermission() { $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->getMenuAccessPermission($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']]); }