/**
* Tests the dump() method with an entity.
*/
public function testDumpWithAnEntity()
{
if (!method_exists($this->filesystem, 'dumpFile')) {
$this->markTestSkipped('Test skipped as Filesystem::dumpFile() is not available in this version.');
}
// Given
$this->service->setRootDir('/unit/test/');
$this->service->setFilename('feed.rss');
$this->service->setEntity('Eko\\FeedBundle\\Tests\\Entity\\Writer\\FakeItemInterfaceEntity');
$this->service->setDirection('ASC');
$entity = $this->getMock('Eko\\FeedBundle\\Tests\\Entity\\Writer\\FakeItemInterfaceEntity');
$repository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
$repository->expects($this->once())->method('findBy')->will($this->returnValue([$entity, $entity]));
$this->entityManager->expects($this->once())->method('getRepository')->will($this->returnValue($repository));
$feed = $this->getMockBuilder('Eko\\FeedBundle\\Feed\\Feed')->disableOriginalConstructor()->getMock();
$feed->expects($this->once())->method('addFromArray');
$feed->expects($this->once())->method('render')->will($this->returnValue('XML content'));
$this->feedManager->expects($this->once())->method('get')->will($this->returnValue($feed));
$this->filesystem->expects($this->once())->method('dumpFile')->with('/unit/test/feed.rss', 'XML content');
// When - Expects actions
$this->service->dump();
}