/** * generateNewItemBreadCrumbs * * @param MenuEntity $menu MenuEntity * @param string $parentItemId parent item's id * @param string $newItemId new item's id * * @return array */ protected function generateNewItemBreadCrumbs(MenuEntity $menu, $parentItemId, $newItemId) { if ($parentItemId === $menu->id) { return [$parentItemId, $newItemId]; } $parentItem = $menu->getItem($parentItemId); $breadCrumbs = $parentItem->getBreadCrumbs(); array_push($breadCrumbs, $newItemId); return $breadCrumbs; }
/** * testMenuAddItem * * @return void */ public function testMenuAddItem() { $treeCollection = $this->getTreeCollection(); $menu = new MenuEntity(['id' => 'main', 'title' => '기본메뉴', 'description' => '기본메뉴입니다.'], $treeCollection); $menuItem = new MenuItem(['id' => 'qna', 'parentId' => 'main', 'ordering' => 1, 'activated' => 1, 'type' => 'pluginA@board', 'title' => 'Q & A', 'description' => '질답 게시판입니다.', 'url' => 'qna']); $menu->addItem($menuItem); $foundItem = $menu->getItem('qna'); $this->assertEquals('qna', $foundItem->id); $this->assertEquals('main', $foundItem->parentId); $this->assertEquals(1, $foundItem->ordering); $this->assertEquals(true, $foundItem->activated); $this->assertEquals('pluginA@board', $foundItem->type); $this->assertEquals('Q & A', $foundItem->title); $this->assertEquals('질답 게시판입니다.', $foundItem->description); $this->assertEquals('qna', $foundItem->url); }