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

@@ -10,27 +10,38 @@
namespace App\Tests\Export\Renderer;
use App\Export\Base\PDFRenderer;
use App\Export\Base\PdfTemplateRenderer;
use App\Export\Renderer\PdfRendererFactory;
use App\Pdf\HtmlToPdfConverter;
use App\Project\ProjectStatisticService;
use App\Export\Template;
use App\Tests\Mocks\Export\PdfRendererFactoryMock;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
#[CoversClass(PdfRendererFactory::class)]
class PdfRendererFactoryTest extends TestCase
{
public function testCreate(): void
{
$sut = new PdfRendererFactory(
$this->createMock(Environment::class),
$this->createMock(HtmlToPdfConverter::class),
$this->createMock(ProjectStatisticService::class)
);
$mock = new PdfRendererFactoryMock($this);
$sut = $mock->create();
$renderer = $sut->create('foo', 'bar.pdf.twig');
self::assertInstanceOf(PDFRenderer::class, $renderer);
self::assertEquals('foo', $renderer->getId());
self::assertFalse($renderer->isInternal());
}
public function testCreateFromTemplate(): void
{
$mock = new PdfRendererFactoryMock($this);
$sut = $mock->create();
$template = new Template('foo', 'bar');
$renderer = $sut->createFromTemplate($template);
self::assertInstanceOf(PdfTemplateRenderer::class, $renderer);
self::assertEquals('foo', $renderer->getId());
self::assertTrue($renderer->isInternal());
}
}