/** * testInsertMenuItem * * @return void * @throws \Exception */ public function testInsertMenuItem() { $conn = $this->getConnectionMock(); $query = $this->getQueryBuilderMock(); $keygen = $this->getKeygenMock(); $conn->shouldReceive('table')->with(self::MENU_ITEM_TABLE)->andReturn($query); $query->shouldReceive('insert')->andReturn(true); $keygen->shouldReceive('generate')->andReturn('notice'); $menuItem = new MenuItem(['parentId' => 'main', 'ordering' => 1, 'activated' => 1, 'type' => 'pluginA@board', 'title' => '공지사항', 'description' => '공지사항 게시판입니다.', 'url' => 'notice']); $menuRepository = new DBMenuRepository($conn, $keygen); $insertedItem = $menuRepository->insertItem($menuItem); $this->assertEquals('notice', $insertedItem->id); $this->assertEquals('main', $insertedItem->parentId); $this->assertEquals(1, $insertedItem->ordering); $this->assertEquals(true, $insertedItem->activated); $this->assertEquals('pluginA@board', $insertedItem->type); $this->assertEquals('공지사항', $insertedItem->title); $this->assertEquals('공지사항 게시판입니다.', $insertedItem->description); $this->assertEquals('notice', $insertedItem->url); }