From f12d68938207ce2270f2ca5411e36c4fbddb41dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Tue, 8 Apr 2025 15:24:52 +0200 Subject: [PATCH] Fix tests --- .../src/Tests/Export/Export/ListAsideActivityTest.php | 4 +++- .../Controller/ExportGenerationControllerTest.php | 7 +++++-- .../Tests/Export/ExportGeneratorTest.php | 10 ++++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/Bundle/ChillAsideActivityBundle/src/Tests/Export/Export/ListAsideActivityTest.php b/src/Bundle/ChillAsideActivityBundle/src/Tests/Export/Export/ListAsideActivityTest.php index aae93c17b..25f93bc3e 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/Tests/Export/Export/ListAsideActivityTest.php +++ b/src/Bundle/ChillAsideActivityBundle/src/Tests/Export/Export/ListAsideActivityTest.php @@ -12,6 +12,8 @@ declare(strict_types=1); namespace Chill\AsideActivityBundle\Tests\Export\Export; use Chill\AsideActivityBundle\Export\Export\ListAsideActivity; +use Chill\MainBundle\Entity\User; +use Chill\MainBundle\Export\ExportGenerationContext; use Doctrine\ORM\AbstractQuery; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; @@ -33,7 +35,7 @@ class ListAsideActivityTest extends KernelTestCase public function testExecuteQuery(): void { - $qb = $this->listAsideActivity->initiateQuery([], [], []) + $qb = $this->listAsideActivity->initiateQuery([], [], [], new ExportGenerationContext(new User())) ->setMaxResults(1); $results = $qb->getQuery()->getResult(AbstractQuery::HYDRATE_ARRAY); diff --git a/src/Bundle/ChillMainBundle/Tests/Controller/ExportGenerationControllerTest.php b/src/Bundle/ChillMainBundle/Tests/Controller/ExportGenerationControllerTest.php index a6b8668f2..ae92bfbcf 100644 --- a/src/Bundle/ChillMainBundle/Tests/Controller/ExportGenerationControllerTest.php +++ b/src/Bundle/ChillMainBundle/Tests/Controller/ExportGenerationControllerTest.php @@ -14,9 +14,11 @@ namespace Chill\MainBundle\Tests\Controller; use Chill\DocStoreBundle\Entity\StoredObject; use Chill\MainBundle\Controller\ExportGenerationController; use Chill\MainBundle\Entity\ExportGeneration; +use Chill\MainBundle\Export\ExportManager; use PHPUnit\Framework\TestCase; use Prophecy\Argument; use Prophecy\PhpUnit\ProphecyTrait; +use Psr\Log\NullLogger; use Symfony\Component\Security\Core\Security; use Symfony\Component\Serializer\SerializerInterface; use Twig\Environment; @@ -38,13 +40,14 @@ class ExportGenerationControllerTest extends TestCase $environment = $this->prophesize(Environment::class); $serializer = $this->prophesize(SerializerInterface::class); $serializer->serialize(Argument::any(), 'json', ['groups' => ['read']])->willReturn('{}'); + $exportManager = $this->prophesize(ExportManager::class); $pending = new ExportGeneration('dummy', []); - $controller = new ExportGenerationController($security->reveal(), $environment->reveal(), $serializer->reveal()); + $controller = new ExportGenerationController($security->reveal(), $environment->reveal(), $serializer->reveal(), $exportManager->reveal()); $actual = $controller->objectStatus($pending); - self::assertEquals(json_encode(['status' => 'pending'], JSON_THROW_ON_ERROR), $actual->getContent()); + self::assertEquals('{}', $actual->getContent()); $generated = new ExportGeneration('dummy', []); $generated->getStoredObject()->setStatus(StoredObject::STATUS_READY); diff --git a/src/Bundle/ChillMainBundle/Tests/Export/ExportGeneratorTest.php b/src/Bundle/ChillMainBundle/Tests/Export/ExportGeneratorTest.php index 94c29ab90..efdd903cc 100644 --- a/src/Bundle/ChillMainBundle/Tests/Export/ExportGeneratorTest.php +++ b/src/Bundle/ChillMainBundle/Tests/Export/ExportGeneratorTest.php @@ -93,6 +93,7 @@ class ExportGeneratorTest extends TestCase return true; }), ['key' => 'form1'], + Argument::that(static fn ($context) => $context instanceof ExportGenerationContext && $context->byUser === $user), )->shouldBeCalled()->willReturn($query->reveal()); $export->getResult($query->reveal(), $formExportData, Argument::that(static fn (ExportGenerationContext $context) => $context->byUser === $user)) ->shouldBeCalled()->willReturn([['result0' => '0']]); @@ -162,6 +163,7 @@ class ExportGeneratorTest extends TestCase [], [['center' => $centerA, 'circles' => []], ['center' => $centerB, 'circles' => []]], ['key' => 'form1'], + Argument::that(static fn ($context) => $context instanceof ExportGenerationContext && $context->byUser === $user), )->shouldBeCalled()->willReturn($query->reveal()); $export->getResult($query->reveal(), $formExportData, Argument::that(static fn (ExportGenerationContext $context) => $context->byUser === $user)) ->shouldBeCalled()->willReturn([['result0' => '0']]); @@ -207,7 +209,7 @@ class ExportGeneratorTest extends TestCase 'aggregators' => [], 'pick_formatter' => 'xlsx', 'formatter' => ['form' => $formatterData = ['key' => 'form4']], - 'centers' => [$centerA = new Center(), $centerB = new Center()], + 'centers' => ['centers' => [$centerA = new Center(), $centerB = new Center()], 'regroupments' => []], ]; $user = new User(); @@ -220,6 +222,7 @@ class ExportGeneratorTest extends TestCase Argument::that(static fn (ExportGenerationContext $context) => $user === $context->byUser), )->shouldBeCalled() ->willReturn(new FormattedExportGeneration('export result', 'text/text')); + $export->requiredRole()->willReturn('dummy_role'); $exportConfigNormalizer = $this->prophesize(ExportConfigNormalizer::class); $exportConfigNormalizer->denormalizeConfig('dummy', $initialData)->willReturn($fullConfig); @@ -227,7 +230,10 @@ class ExportGeneratorTest extends TestCase $exportManager = $this->prophesize(ExportManager::class); $exportManager->getExport('dummy')->willReturn($export->reveal()); - $generator = new ExportGenerator($exportManager->reveal(), $exportConfigNormalizer->reveal(), new NullLogger()); + $authorizationHelper = $this->prophesize(AuthorizationHelperInterface::class); + $authorizationHelper->getReachableCenters($user, 'dummy_role')->willReturn([$centerA, $centerB]); + + $generator = new ExportGenerator($exportManager->reveal(), $exportConfigNormalizer->reveal(), new NullLogger(), $authorizationHelper->reveal(), new CenterRegroupementResolver()); $actual = $generator->generate('dummy', $initialData, $user);