/** * @test */ public function removePostFromObjectStorageHoldingPosts() { $post = new \Lobacher\Simpleblog\Domain\Model\Post(); $postsObjectStorageMock = $this->getMock('TYPO3\\CMS\\Extbase\\Persistence\\ObjectStorage', array('detach'), array(), '', FALSE); $postsObjectStorageMock->expects($this->once())->method('detach')->with($this->equalTo($post)); $this->inject($this->subject, 'posts', $postsObjectStorageMock); $this->subject->removePost($post); }
/** * add action - adds a blog to the repository * * @param \Lobacher\Simpleblog\Domain\Model\Blog &$blog * @param array $extraInfo */ public function setTitleToBlog(\Lobacher\Simpleblog\Domain\Model\Blog &$blog, array $extraInfo) { if (!isset($extraInfo['name'])) { return; } $extraName = trim(implode(" ", array_map('trim', $extraInfo['name']))); $blog->setTitle($blog->getTitle() . ($extraName ? ' ' . $extraName : '')); }
/** * delete action - deletes a post in the repository * * @param \Lobacher\Simpleblog\Domain\Model\Blog $blog * @param \Lobacher\Simpleblog\Domain\Model\Post $post * @return void */ public function deleteAction(Blog $blog, Post $post) { $blog->removePost($post); $this->objectManager->get('Lobacher\\Simpleblog\\Domain\\Repository\\BlogRepository')->update($blog); $this->postRepository->remove($post); $this->redirect('show', 'Blog', NULL, array('blog' => $blog)); }