support different formats in user timesheet exports (#1222)
This commit is contained in:
@@ -11,6 +11,7 @@ namespace App\Tests\Export;
|
||||
|
||||
use App\Export\Renderer\HtmlRenderer;
|
||||
use App\Export\ServiceExport;
|
||||
use App\Export\Timesheet\HtmlRenderer as HtmlExporter;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Twig\Environment;
|
||||
@@ -22,36 +23,34 @@ class ServiceExportTest extends TestCase
|
||||
{
|
||||
public function testEmptyObject()
|
||||
{
|
||||
$sut = new ServiceExport([]);
|
||||
$this->assertEmpty($sut->getRenderer());
|
||||
$sut = new ServiceExport();
|
||||
|
||||
self::assertEmpty($sut->getRenderer());
|
||||
self::assertNull($sut->getRendererById('default'));
|
||||
|
||||
self::assertEmpty($sut->getTimesheetExporter());
|
||||
self::assertNull($sut->getTimesheetExporterById('default'));
|
||||
}
|
||||
|
||||
public function testUnknownRendererReturnsNull()
|
||||
public function testAddRenderer()
|
||||
{
|
||||
$sut = new ServiceExport([]);
|
||||
$this->assertNull($sut->getRendererById('default'));
|
||||
$sut = new ServiceExport();
|
||||
|
||||
$renderer = new HtmlRenderer($this->createMock(Environment::class), new EventDispatcher());
|
||||
$sut->addRenderer($renderer);
|
||||
|
||||
self::assertEquals(1, count($sut->getRenderer()));
|
||||
self::assertSame($renderer, $sut->getRendererById('html'));
|
||||
}
|
||||
|
||||
public function testAdd()
|
||||
public function testAddTimesheetExporter()
|
||||
{
|
||||
$sut = new ServiceExport([]);
|
||||
$sut = new ServiceExport();
|
||||
|
||||
$sut->addRenderer(new HtmlRenderer(
|
||||
$this->getMockBuilder(Environment::class)->disableOriginalConstructor()->getMock(),
|
||||
new EventDispatcher()
|
||||
));
|
||||
$exporter = new HtmlExporter($this->createMock(Environment::class), new EventDispatcher());
|
||||
$sut->addTimesheetExporter($exporter);
|
||||
|
||||
$this->assertEquals(1, count($sut->getRenderer()));
|
||||
}
|
||||
|
||||
public function testAddViaConstruct()
|
||||
{
|
||||
$renderer = [new HtmlRenderer(
|
||||
$this->getMockBuilder(Environment::class)->disableOriginalConstructor()->getMock(),
|
||||
new EventDispatcher()
|
||||
)];
|
||||
$sut = new ServiceExport($renderer);
|
||||
|
||||
$this->assertEquals(1, count($sut->getRenderer()));
|
||||
self::assertEquals(1, count($sut->getTimesheetExporter()));
|
||||
self::assertSame($exporter, $sut->getTimesheetExporterById('print'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user