public function testDeleteContent() { $repository = $this->getRepositoryMock(); $repository->expects($this->once())->method('canUser')->with('content', 'remove')->will($this->returnValue(true)); $contentService = $this->getPartlyMockedContentService(array('internalLoadContentInfo')); /** @var \PHPUnit_Framework_MockObject_MockObject $urlAliasHandler */ $urlAliasHandler = $this->getPersistenceMock()->urlAliasHandler(); /** @var \PHPUnit_Framework_MockObject_MockObject $locationHandler */ $locationHandler = $this->getPersistenceMock()->locationHandler(); /** @var \PHPUnit_Framework_MockObject_MockObject $contentHandler */ $contentHandler = $this->getPersistenceMock()->contentHandler(); $contentInfo = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\ContentInfo'); $contentService->expects($this->once())->method('internalLoadContentInfo')->with(42)->will($this->returnValue($contentInfo)); $contentInfo->expects($this->any())->method('__get')->with('id')->will($this->returnValue(42)); $repository->expects($this->once())->method('beginTransaction'); $spiLocations = array(new SPILocation(array('id' => 1)), new SPILocation(array('id' => 2))); $locationHandler->expects($this->once())->method('loadLocationsByContent')->with(42)->will($this->returnValue($spiLocations)); $contentHandler->expects($this->once())->method('deleteContent')->with(42); foreach ($spiLocations as $index => $spiLocation) { $urlAliasHandler->expects($this->at($index))->method('locationDeleted')->with($spiLocation->id); } $repository->expects($this->once())->method('commit'); /* @var \eZ\Publish\API\Repository\Values\Content\ContentInfo $contentInfo */ $contentService->deleteContent($contentInfo); }