Configurable PDF exports (#5641)

This commit is contained in:
Kevin Papst
2025-09-23 18:32:31 +02:00
committed by GitHub
parent 5d3e46cce2
commit 6d78c6ba36
107 changed files with 2428 additions and 1575 deletions

View File

@@ -24,6 +24,12 @@ class ExportTemplateTest extends AbstractEntityTestCase
self::assertNull($sut->getLanguage());
self::assertEquals([], $sut->getColumns());
self::assertEquals([], $sut->getOptions());
self::assertNull($sut->getName());
self::assertNull($sut->getFont());
self::assertNull($sut->getOrientation());
self::assertNull($sut->getPageSize());
self::assertEquals(',', $sut->getSeparator());
self::assertEquals([], $sut->getSummaryColumns());
}
public function testSetter(): void
@@ -51,13 +57,24 @@ class ExportTemplateTest extends AbstractEntityTestCase
$sut->setColumns(null);
self::assertEquals([], $sut->getColumns());
$sut->setName('my name is funny');
$sut->setFont('Helvetica');
$sut->setPageSize('Letter');
$sut->setSummaryColumns(['customer', 'rate', 'duration_decimal']);
self::assertEquals('my name is funny', $sut->getName());
self::assertEquals('Helvetica', $sut->getFont());
self::assertEquals('Letter', $sut->getPageSize());
self::assertEquals(['customer', 'rate', 'duration_decimal'], $sut->getSummaryColumns());
$sut->setOptions(['foo' => 1, 'bar' => true, 'WORLD' => 'HELLO']);
self::assertEquals(['foo' => 1, 'bar' => true, 'WORLD' => 'HELLO'], $sut->getOptions());
$sut->setOption('empty', 123);
self::assertEquals(['foo' => 1, 'bar' => true, 'WORLD' => 'HELLO', 'empty' => 123], $sut->getOptions());
$sut->setOption('foo', 4711);
$sut->setOption('empty', null);
$sut->setOption('bar', false);
$sut->setOption('hello', 'kimai');
self::assertEquals(['foo' => 4711, 'bar' => false, 'WORLD' => 'HELLO', 'empty' => null, 'hello' => 'kimai'], $sut->getOptions());
self::assertEquals(['foo' => 4711, 'bar' => false, 'WORLD' => 'HELLO', 'hello' => 'kimai'], $sut->getOptions());
$sut->setOptions(null);
self::assertEquals([], $sut->getOptions());
}
@@ -75,6 +92,21 @@ class ExportTemplateTest extends AbstractEntityTestCase
$sut->setSeparator('.');
}
public function testSetOrientation(): void
{
$sut = new ExportTemplate();
self::assertNull($sut->getOrientation());
$sut->setOrientation('landscape');
self::assertEquals('landscape', $sut->getOrientation());
$sut->setOrientation('PORTRAIT');
self::assertEquals('portrait', $sut->getOrientation());
$sut->setOrientation('LandScapE');
self::assertEquals('landscape', $sut->getOrientation());
$this->expectException(\InvalidArgumentException::class);
$sut->setOrientation('vertical');
}
public function testClone(): void
{
$sut = new ExportTemplate();