/**
  * 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']);
 }
예제 #2
0
 /**
  * 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']]);
 }