Release 2.47 (#5784)

This commit is contained in:
Kevin Papst
2026-01-25 09:51:22 +01:00
committed by GitHub
parent 6a86afb5fd
commit d429c56687
81 changed files with 2487 additions and 3801 deletions

View File

@@ -26,6 +26,8 @@ use Psr\Log\LoggerInterface;
use Symfony\Component\Finder\Finder;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Twig\Environment;
use Twig\Loader\FilesystemLoader;
#[CoversClass(ServiceExport::class)]
#[CoversClass(CsvRenderer::class)]
@@ -35,7 +37,7 @@ use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
#[Group('integration')]
class DefaultRendererTest extends AbstractRendererTestCase
{
private function createServiceExport(): ServiceExport
private function createServiceExport(?Environment $environment = null): ServiceExport
{
$repository = $this->createMock(ExportTemplateRepository::class);
$repository->expects($this->once())->method('findAll')->willReturn([]);
@@ -43,8 +45,8 @@ class DefaultRendererTest extends AbstractRendererTestCase
return new ServiceExport(
$this->createMock(EventDispatcherInterface::class),
(new HtmlRendererFactoryMock($this))->create(),
(new PdfRendererFactoryMock($this))->create(),
(new HtmlRendererFactoryMock($this))->create($environment),
(new PdfRendererFactoryMock($this))->create($environment),
(new CsvRendererFactoryMock($this))->create(),
(new XlsxRendererFactoryMock($this))->create(),
$repository,
@@ -54,7 +56,10 @@ class DefaultRendererTest extends AbstractRendererTestCase
public function testRenderDefaultTemplates(): void
{
$sut = $this->createServiceExport();
/** @var Environment $twig */
$twig = $this->getContainer()->get(Environment::class);
$sut = $this->createServiceExport($twig);
$renderer = $sut->getRenderer();
self::assertCount(4, $renderer);
@@ -98,12 +103,21 @@ class DefaultRendererTest extends AbstractRendererTestCase
->files()
;
/** @var Environment $twig */
$twig = $this->getContainer()->get(Environment::class);
/** @var FilesystemLoader $loader */
$loader = $twig->getLoader();
$files = [];
$dirs = [];
foreach ($finder->getIterator() as $filename => $splFile) {
$files[] = $splFile->getRealPath();
$dir = \dirname($splFile->getRealPath());
$dirs[$dir] = $dir;
if (!\array_key_exists($dir, $dirs)) {
$dirs[$dir] = $dir;
$loader->addPath($dir . '/', 'export');
}
}
$dirs = array_keys($dirs);
@@ -113,7 +127,7 @@ class DefaultRendererTest extends AbstractRendererTestCase
return;
}
$sut = $this->createServiceExport();
$sut = $this->createServiceExport($twig);
foreach ($dirs as $dir) {
$sut->addDirectory($dir);
}

View File

@@ -25,10 +25,10 @@ use Twig\Environment;
#[Group('integration')]
class HtmlRendererTest extends AbstractRendererTestCase
{
protected function getAbstractRenderer(): HtmlRenderer
protected function getAbstractRenderer(?Environment $environment = null): HtmlRenderer
{
return new HtmlRenderer(
$this->createMock(Environment::class),
$environment ?? $this->createMock(Environment::class),
$this->createMock(EventDispatcherInterface::class),
$this->createMock(ProjectStatisticService::class),
$this->createMock(ActivityStatisticService::class),
@@ -60,7 +60,10 @@ class HtmlRendererTest extends AbstractRendererTestCase
public function testRender(): void
{
$sut = $this->getAbstractRenderer();
/** @var Environment $twig */
$twig = $this->getContainer()->get(Environment::class);
$sut = $this->getAbstractRenderer($twig);
$response = $this->render($sut);
self::assertInstanceOf(Response::class, $response);

View File

@@ -26,14 +26,13 @@ use Twig\Environment;
#[Group('integration')]
class PdfRendererTest extends AbstractRendererTestCase
{
protected function getAbstractRenderer(bool $exportDecimal = false): PDFRenderer
protected function getAbstractRenderer(?Environment $environment = null): PDFRenderer
{
$twig = $this->createMock(Environment::class);
$converter = $this->createMock(HtmlToPdfConverter::class);
$projectStatisticService = $this->createMock(ProjectStatisticService::class);
return new PDFRenderer(
$twig,
$environment ?? $this->createMock(Environment::class),
$converter,
$projectStatisticService,
'foo',
@@ -70,7 +69,10 @@ class PdfRendererTest extends AbstractRendererTestCase
public function testRender(): void
{
$sut = $this->getAbstractRenderer();
/** @var Environment $twig */
$twig = $this->getContainer()->get(Environment::class);
$sut = $this->getAbstractRenderer($twig);
$response = $this->render($sut);
self::assertInstanceOf(Response::class, $response);

View File

@@ -131,6 +131,7 @@ abstract class AbstractRendererTestCase extends KernelTestCase
$currentUser = new User();
$currentUser->setPreferenceValue('export_decimal', $exportDecimal);
$currentUser->setUserIdentifier('foo-bar');
$query = new TimesheetQuery();
$query->setActivities([$activity]);