/** * testMoveItemPermission * * @return void */ public function testMoveItemPermission() { $originItem = $this->getSampleMenuItem(); $movedItem = new MenuItem(['id' => 'testboard', 'parentId' => 'freeboard', 'ordering' => 1, 'activated' => 1, 'type' => 'pluginA@board', 'title' => 'Test 게시판', 'description' => '테스트 게시판입니다.', 'url' => 'testboard']); $movedItem->setBreadCrumbs(['basic', 'board', 'freeboard']); $registered = m::mock('Xpressengine\\Permission\\Registered'); $permissionFactory = $this->permissionFactory; $permissionFactory->shouldReceive('findRegistered')->andReturn($registered); $permissionFactory->shouldReceive('move')->andReturn(); $permissionHandler = new MenuPermissionHandler($permissionFactory, $this->groupRepoMock, $this->memberRepoMock); $permissionHandler->moveItemPermission($originItem, $movedItem); }
/** * testMoveItemConfig * * @return void */ public function testMoveItemConfig() { // MenuItem $item, MenuItem $movedItem $configManager = $this->configManager; $themeHandler = $this->themeHandler; $dummyConfigEntity = m::mock('Xpressengine\\Config\\ConfigEntity'); $configManager->shouldReceive('get')->andReturn($dummyConfigEntity); $configManager->shouldReceive('move')->andReturn($dummyConfigEntity); $dummyItem = new MenuItem(['id' => 'testMenu']); $dummyItem->setBreadCrumbs(['basic', 'board']); $dummyMovedItem = new MenuItem(['id' => 'movedTestMenu']); $dummyMovedItem->setBreadCrumbs(['basic', 'notice']); $menuConfigHandler = new MenuConfigHandler($configManager, $themeHandler); $menuConfigHandler->moveItemConfig($dummyItem, $dummyMovedItem); }
/** * testMenuItemBreadCrumbs * * @return void */ public function testMenuItemBreadCrumbs() { $menuItem = new MenuItem(['id' => 'qna', 'parentId' => 'freeboard', 'ordering' => 1, 'activated' => 1, 'type' => 'pluginA@board', 'title' => 'Q & A', 'description' => '질답 게시판입니다.', 'url' => 'qna']); $menuItem->setBreadCrumbs(['main', 'freeboard']); $breadCrumbs = $menuItem->getBreadCrumbs(); $breadCrumbsKeyString = $menuItem->getBreadCrumbsKeyString(); $this->assertEquals(['main', 'freeboard'], $breadCrumbs); $this->assertEquals('main.freeboard', $breadCrumbsKeyString); }
/** * testAddItemGenerateNewItemBreadCrumbs * * @return void */ public function testAddItemGenerateNewItemBreadCrumbs() { $menuRepo = $this->menuRepository; $typeHandler = $this->typeHandler; $routeHandler = $this->routeHandler; $cacheHandler = $this->cacheHandler; $instanceRouteMock = m::mock('Xpressengine\\Routing\\InstanceRoute'); $instanceRouteMock->shouldReceive('setUrl')->andReturn(); $inputs = ['itemId' => 'testId', 'parent' => 'freeboard', 'itemTitle' => 'Title', 'itemUrl' => 'testUrl', 'itemDescription' => 'testDescription', 'itemTarget' => '_blank', 'selectedType' => 'xpressengine@test', 'itemOrdering' => '1', 'itemActivated' => '1', 'siteKey' => 'default']; $menuRepo->shouldReceive('insertItem')->andReturn(new MenuItem(['id' => $inputs['itemId'], 'menuId' => 'basic', 'parentId' => $inputs['parent'], 'title' => $inputs['itemTitle'], 'url' => $inputs['itemUrl'], 'description' => $inputs['itemDescription'], 'target' => $inputs['itemTarget'], 'type' => $inputs['selectedType'], 'ordering' => $inputs['itemOrdering'], 'activated' => $inputs['itemActivated']])); $menuRepo->shouldReceive('insertHierarchy')->andReturn(0); $dummyMenuEntity = $menu = new MenuEntity(['id' => 'basic', 'title' => 'testTitle', 'description' => 'testDescription'], new TreeCollection(['testMenu' => new MenuItem(['id' => 'testMenu']), 'freeboard' => new MenuItem(['id' => 'freeboard'])])); $menuRepo->shouldReceive('findMenu')->andReturn($dummyMenuEntity); $menuRepo->shouldReceive('children')->andReturn([]); $menuRepo->shouldReceive('updateItem')->andReturn([]); $dummyMenuItem = new MenuItem([]); $dummyMenuItem->setBreadCrumbs(['basic', 'freeboard']); $menuRepo->shouldReceive('findItem')->andReturn($dummyMenuItem); $routeHandler->shouldReceive('usableUrl')->andReturn(true); $routeHandler->shouldReceive('add')->andReturn(); $menuHandler = new MenuAlterHandler($menuRepo, $typeHandler, $routeHandler, $cacheHandler); $dummyMenuType = m::mock('alias:Theme', 'Xpressengine\\Menu\\MenuType\\MenuTypeInterface', ['isRouteAble' => true, 'getId' => 'dummyId']); $dummyMenuType->shouldReceive('storeMenu')->andReturn(); $typeHandler->shouldReceive('getModuleObject')->andReturn($dummyMenuType); $insertedItem = $menuHandler->addItem($dummyMenuEntity, $inputs); $this->assertEquals('testId', $insertedItem->id); $this->assertEquals('Title', $insertedItem->title); $this->assertEquals('testUrl', $insertedItem->url); $this->assertEquals('testDescription', $insertedItem->description); $this->assertEquals('_blank', $insertedItem->target); $this->assertEquals(0, $insertedItem->ordering); $this->assertEquals(true, $insertedItem->activated); }