/** * testGetItemAccessPermission * * @return void */ public function testGetItemAccessPermission() { $permissionFactory = $this->permissionFactory; $permissionFactory->shouldReceive('findRegistered')->andReturn($permissionFactory); $permissionFactory->shouldReceive('pure')->andReturn(null); $permissionFactory->shouldReceive('offsetGet')->andReturn(['rating' => 'manager', 'group' => [], 'user' => [], 'except' => []]); $groupRepo = $this->groupRepoMock; $memberRepo = $this->memberRepoMock; $groupRepo->shouldReceive('findAll')->andReturn([]); $memberRepo->shouldReceive('findAll')->andReturn([]); $memberRepo->shouldReceive('findAll')->andReturn([]); $permissionHandler = new MenuPermissionHandler($permissionFactory, $groupRepo, $memberRepo); $item = $this->getSampleMenuItem(); $itemAccessPermission = $permissionHandler->getItemAccessPermission($item); $this->assertEquals('inherit', $itemAccessPermission['mode']); $this->assertEquals('manager', $itemAccessPermission['rating']); $this->assertEquals([], $itemAccessPermission['group']); $this->assertEquals([], $itemAccessPermission['user']); $this->assertEquals([], $itemAccessPermission['except']); }
/** * editItemPermission * 선택된 메뉴의 아이템을 permission 을 수정하는 페이지 구성 * * @param MenuRetrieveHandler $menuHandler menu handler * @param MenuPermissionHandler $permissionHandler menu permission handler * @param \Xpressengine\Module\ModuleHandler $moduleHandler module handler * @param string $menuId menu id * @param string $itemId item id * * @return RendererInterface */ public function editItemPermission(MenuRetrieveHandler $menuHandler, MenuPermissionHandler $permissionHandler, ModuleHandler $moduleHandler, $menuId, $itemId) { $menu = $menuHandler->getMenu($menuId); $item = $menu->getItem($itemId); try { $menuType = $moduleHandler->getModuleObject($item->type); } catch (NotFoundModuleException $e) { $menuType = null; } $accessPermission = $permissionHandler->getItemAccessPermission($item); $visiblePermission = $permissionHandler->getItemVisiblePermission($item); return Presenter::make('menu.itemPermission', ['menu' => $menu, 'item' => $item, 'menuType' => $menuType, 'access' => ['mode' => $accessPermission['mode'], 'grant' => $accessPermission, 'title' => 'access'], 'visible' => ['mode' => $visiblePermission['mode'], 'grant' => $visiblePermission, 'title' => 'visible']]); }