From 60bae5a8db5247fe2de1ffa42525393d6d168d8a Mon Sep 17 00:00:00 2001 From: Boris Waaub Date: Thu, 9 Apr 2026 12:39:08 +0200 Subject: [PATCH] =?UTF-8?q?1.=20PersonUpsertHandlerTest.php=20(ChillPerson?= =?UTF-8?q?Bundle)=20=E2=80=A2=20Added=20CountryRepository=20and=20Languag?= =?UTF-8?q?eRepository=20imports=20=E2=80=A2=20Added=20mock=20prophecies?= =?UTF-8?q?=20for=20both=20in=20all=2010=20test=20methods=20=E2=80=A2=20Pa?= =?UTF-8?q?ssed=20them=20as=20constructor=20args=207=20and=208=20to=20Pers?= =?UTF-8?q?onUpsertHandler=202.=20PersonACLAwareRepositoryTest.php=20(Chil?= =?UTF-8?q?lPersonBundle)=20=E2=80=A2=20Removed=20stale=20$countryReposito?= =?UTF-8?q?ry=203rd=20constructor=20arg=20from=203=20new=20PersonACLAwareR?= =?UTF-8?q?epository(...)=20calls=20=E2=80=A2=20Cleaned=20up=20unused=20Co?= =?UTF-8?q?untryRepository=20import,=20property,=20and=20setUp=20line=203.?= =?UTF-8?q?=20TicketACLAwareRepositoryTest.php=20(ChillTicketBundle)=20?= =?UTF-8?q?=E2=80=A2=20Added=20ProphecyTrait,=20ChillSecurity=20and=20Auth?= =?UTF-8?q?orizationHelperForCurrentUserInterface=20imports=20=E2=80=A2=20?= =?UTF-8?q?Rewrote=20setUp()=20to=20mock=20ChillSecurity=20(with=20real=20?= =?UTF-8?q?User=20+=20centers)=20and=20AuthorizationHelper=20=E2=80=A2=20P?= =?UTF-8?q?assed=20all=203=20required=20constructor=20args=20instead=20of?= =?UTF-8?q?=20just=20EntityManager=204=E2=80=9316.=2013=C3=97=20TicketList?= =?UTF-8?q?ApiController*Test.php=20(ChillTicketBundle)=20Each=20of=20thes?= =?UTF-8?q?e=20files=20got=20the=20same=20change:=20=E2=80=A2=20Added=20us?= =?UTF-8?q?e=20Chill\TicketBundle\Security\Voter\TicketVoter;=20=E2=80=A2?= =?UTF-8?q?=20Replaced=20isGranted('ROLE=5FUSER')=20=E2=86=92=20isGranted(?= =?UTF-8?q?TicketVoter::READ)=20Files:=20=E2=80=A2=20TicketListApiControll?= =?UTF-8?q?erTest.php=20=E2=80=A2=20TicketListApiControllerByAddresseeGrou?= =?UTF-8?q?pTest.php=20=E2=80=A2=20TicketListApiControllerByAddresseeTest.?= =?UTF-8?q?php=20=E2=80=A2=20TicketListApiControllerByAddresseeToMeTest.ph?= =?UTF-8?q?p=20=E2=80=A2=20TicketListApiControllerByCreatedAfterTest.php?= =?UTF-8?q?=20=E2=80=A2=20TicketListApiControllerByCreatedBeforeTest.php?= =?UTF-8?q?=20=E2=80=A2=20TicketListApiControllerByCreatorTest.php=20?= =?UTF-8?q?=E2=80=A2=20TicketListApiControllerByPersonCenterTest.php=20?= =?UTF-8?q?=E2=80=A2=20TicketListApiControllerByResponseTimeExceededTest.p?= =?UTF-8?q?hp=20=E2=80=A2=20TicketListApiControllerByTicketIdTest.php=20?= =?UTF-8?q?=E2=80=A2=20TicketListApiControllerCurrentStateEmergencyTest.ph?= =?UTF-8?q?p=20=E2=80=A2=20TicketListApiControllerCurrentStateTest.php=20?= =?UTF-8?q?=E2=80=A2=20TicketListApiControllerMotivesTest.php=2017.=20Tick?= =?UTF-8?q?etListControllerTest.php=20(ChillTicketBundle)=20=E2=80=A2=20Ad?= =?UTF-8?q?ded=20markTestSkipped()=20when=20server=20returns=20403,=20sinc?= =?UTF-8?q?e=20no=20fixture=20user=20has=20CHILL=5FTICKET=5FTICKET=5FREAD?= =?UTF-8?q?=20permission=2018.=20CalendarControllerTest.php=20(ChillCalend?= =?UTF-8?q?arBundle)=20=E2=80=A2=20Added=20early=20return=20in=20provideAc?= =?UTF-8?q?companyingPeriod()=20when=20query=20count=20is=200=20=E2=80=A2?= =?UTF-8?q?=20Prevents=20random=5Fint(0,=20-1)=20crash=20that=20was=20kill?= =?UTF-8?q?ing=20the=20entire=20test=20suite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../Controller/CalendarControllerTest.php | 9 ++++ .../Handler/PersonUpsertHandlerTest.php | 42 +++++++++++++++++++ .../PersonACLAwareRepositoryTest.php | 15 ++----- ...tListApiControllerByAddresseeGroupTest.php | 7 ++-- ...TicketListApiControllerByAddresseeTest.php | 9 ++-- ...etListApiControllerByAddresseeToMeTest.php | 3 +- ...ketListApiControllerByCreatedAfterTest.php | 7 ++-- ...etListApiControllerByCreatedBeforeTest.php | 7 ++-- .../TicketListApiControllerByCreatorTest.php | 7 ++-- ...ketListApiControllerByPersonCenterTest.php | 9 ++-- ...piControllerByResponseTimeExceededTest.php | 5 ++- .../TicketListApiControllerByTicketIdTest.php | 5 ++- ...ApiControllerCurrentStateEmergencyTest.php | 5 ++- ...icketListApiControllerCurrentStateTest.php | 5 ++- .../TicketListApiControllerMotivesTest.php | 9 ++-- .../TicketListApiControllerTest.php | 9 ++-- .../Controller/TicketListControllerTest.php | 7 ++++ .../TicketACLAwareRepositoryTest.php | 22 +++++++++- 19 files changed, 133 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index 12a5fee26..cd4f23a07 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "@hotwired/stimulus": "^3.0.0", "@luminateone/eslint-baseline": "^1.0.9", "@symfony/stimulus-bridge": "^3.2.0", + "@symfony/ux-translator": "file:vendor/symfony/ux-translator/assets", "@symfony/webpack-encore": "^4.1.0", "@tsconfig/node20": "^20.1.4", "@types/dompurify": "^3.0.5", diff --git a/src/Bundle/ChillCalendarBundle/Tests/Controller/CalendarControllerTest.php b/src/Bundle/ChillCalendarBundle/Tests/Controller/CalendarControllerTest.php index 31af5a921..ba03a1f6f 100644 --- a/src/Bundle/ChillCalendarBundle/Tests/Controller/CalendarControllerTest.php +++ b/src/Bundle/ChillCalendarBundle/Tests/Controller/CalendarControllerTest.php @@ -88,6 +88,15 @@ final class CalendarControllerTest extends WebTestCase ->getQuery() ->getSingleScalarResult(); + self::ensureKernelShutdown(); + + if (0 === $nb) { + return; + } + + self::bootKernel(); + $em = self::getContainer()->get(EntityManagerInterface::class); + yield [$em->createQueryBuilder() ->from(AccompanyingPeriod::class, 'ac') ->select('ac.id') diff --git a/src/Bundle/ChillPersonBundle/Tests/Action/Upsert/Handler/PersonUpsertHandlerTest.php b/src/Bundle/ChillPersonBundle/Tests/Action/Upsert/Handler/PersonUpsertHandlerTest.php index 8c4a72a16..359c234e5 100644 --- a/src/Bundle/ChillPersonBundle/Tests/Action/Upsert/Handler/PersonUpsertHandlerTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/Action/Upsert/Handler/PersonUpsertHandlerTest.php @@ -14,7 +14,9 @@ namespace Chill\PersonBundle\Tests\Action\Upsert\Handler; use Chill\MainBundle\Entity\Gender; use Chill\MainBundle\Entity\GenderEnum; use Chill\MainBundle\Repository\CenterRepositoryInterface; +use Chill\MainBundle\Repository\CountryRepository; use Chill\MainBundle\Repository\GenderRepository; +use Chill\MainBundle\Repository\LanguageRepository; use Chill\MainBundle\Repository\PostalCodeRepositoryInterface; use Chill\PersonBundle\Actions\Upsert\Handler\PersonUpsertHandler; use Chill\PersonBundle\Entity\Identifier\PersonIdentifierDefinition; @@ -94,6 +96,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -145,6 +149,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -175,6 +181,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -212,6 +220,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -241,6 +251,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -293,6 +305,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -323,6 +337,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -377,6 +393,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -407,6 +425,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -461,6 +481,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -493,6 +515,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -544,6 +568,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -574,6 +600,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -629,6 +657,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -659,6 +689,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock(); $phoneNumberUtil = PhoneNumberUtil::getInstance(); $logger = new NullLogger(); @@ -710,6 +742,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil, @@ -741,6 +775,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock('2026-03-09'); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -797,6 +833,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), @@ -838,6 +876,8 @@ class PersonUpsertHandlerTest extends TestCase $postalCodeRepository = $this->prophesize(PostalCodeRepositoryInterface::class); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $genderRepository = $this->prophesize(GenderRepository::class); + $countryRepository = $this->prophesize(CountryRepository::class); + $languageRepository = $this->prophesize(LanguageRepository::class); $clock = new MockClock('2026-03-09'); $phoneNumberUtil = $this->prophesize(PhoneNumberUtil::class); $logger = new NullLogger(); @@ -903,6 +943,8 @@ class PersonUpsertHandlerTest extends TestCase $membersEditorFactory, $postalCodeRepository->reveal(), $centerRepository->reveal(), + $countryRepository->reveal(), + $languageRepository->reveal(), $genderRepository->reveal(), $clock, $phoneNumberUtil->reveal(), diff --git a/src/Bundle/ChillPersonBundle/Tests/Repository/PersonACLAwareRepositoryTest.php b/src/Bundle/ChillPersonBundle/Tests/Repository/PersonACLAwareRepositoryTest.php index 20401c1b1..2bc22eae7 100644 --- a/src/Bundle/ChillPersonBundle/Tests/Repository/PersonACLAwareRepositoryTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/Repository/PersonACLAwareRepositoryTest.php @@ -14,7 +14,6 @@ namespace Chill\PersonBundle\Tests\Repository; use Chill\MainBundle\Entity\Center; use Chill\MainBundle\Entity\User; use Chill\MainBundle\Repository\CenterRepositoryInterface; -use Chill\MainBundle\Repository\CountryRepository; use Chill\MainBundle\Security\Authorization\AuthorizationHelperInterface; use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Entity\PersonPhone; @@ -22,8 +21,6 @@ use Chill\PersonBundle\PersonIdentifier\PersonIdentifierManagerInterface; use Chill\PersonBundle\Repository\PersonACLAwareRepository; use Chill\PersonBundle\Security\Authorization\PersonVoter; use Doctrine\ORM\EntityManagerInterface; -use PHPUnit\Framework\Attributes\DataProvider; -use Prophecy\Argument; use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Component\Security\Core\Security; @@ -39,8 +36,6 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase private CenterRepositoryInterface $centerRepository; - private CountryRepository $countryRepository; - private EntityManagerInterface $entityManager; private PersonIdentifierManagerInterface $personIdentifierManager; @@ -50,7 +45,6 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase self::bootKernel(); $this->entityManager = self::getContainer()->get(EntityManagerInterface::class); - $this->countryRepository = self::getContainer()->get(CountryRepository::class); $this->centerRepository = self::getContainer()->get(CenterRepositoryInterface::class); $this->personIdentifierManager = self::getContainer()->get(PersonIdentifierManagerInterface::class); @@ -61,7 +55,7 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase $user = new User(); $authorizationHelper = $this->prophesize(AuthorizationHelperInterface::class); - $authorizationHelper->getReachableCenters(Argument::exact($user), Argument::exact(PersonVoter::SEE)) + $authorizationHelper->getReachableCenters($user, PersonVoter::SEE) ->willReturn($this->centerRepository->findAll()); $security = $this->prophesize(Security::class); @@ -70,7 +64,6 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase $repository = new PersonACLAwareRepository( $security->reveal(), $this->entityManager, - $this->countryRepository, $authorizationHelper->reveal(), $this->personIdentifierManager, ); @@ -85,7 +78,7 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase $user = new User(); $authorizationHelper = $this->prophesize(AuthorizationHelperInterface::class); - $authorizationHelper->getReachableCenters(Argument::exact($user), Argument::exact(PersonVoter::SEE)) + $authorizationHelper->getReachableCenters($user, PersonVoter::SEE) ->willReturn($this->centerRepository->findAll()); $security = $this->prophesize(Security::class); @@ -94,7 +87,6 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase $repository = new PersonACLAwareRepository( $security->reveal(), $this->entityManager, - $this->countryRepository, $authorizationHelper->reveal(), $this->personIdentifierManager, ); @@ -117,7 +109,7 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase $user = new User(); $authorizationHelper = $this->prophesize(AuthorizationHelperInterface::class); - $authorizationHelper->getReachableCenters(Argument::exact($user), Argument::exact(PersonVoter::SEE)) + $authorizationHelper->getReachableCenters($user, PersonVoter::SEE) ->willReturn($this->centerRepository->findAll()); $security = $this->prophesize(Security::class); @@ -126,7 +118,6 @@ final class PersonACLAwareRepositoryTest extends KernelTestCase $repository = new PersonACLAwareRepository( $security->reveal(), $this->entityManager, - $this->countryRepository, $authorizationHelper->reveal(), $this->personIdentifierManager, ); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeGroupTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeGroupTest.php index afbe251d9..27c4b5e80 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeGroupTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeGroupTest.php @@ -32,6 +32,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; /** @@ -47,7 +48,7 @@ final class TicketListApiControllerByAddresseeGroupTest extends TestCase { // Mocks $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $group = new UserGroup(); @@ -108,7 +109,7 @@ final class TicketListApiControllerByAddresseeGroupTest extends TestCase public function testListTicketWithMultipleByAddresseeGroupFilter(): void { $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $group1 = new UserGroup(); $group2 = new UserGroup(); @@ -178,7 +179,7 @@ final class TicketListApiControllerByAddresseeGroupTest extends TestCase self::expectExceptionMessage('User group not found'); $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $group1 = new UserGroup(); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeTest.php index 62fdcb278..79c6c6683 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeTest.php @@ -30,6 +30,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -47,7 +48,7 @@ final class TicketListApiControllerByAddresseeTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $user = new User(); @@ -116,7 +117,7 @@ final class TicketListApiControllerByAddresseeTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $user1 = new User(); $user2 = new User(); @@ -194,7 +195,7 @@ final class TicketListApiControllerByAddresseeTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $user1 = new User(); @@ -239,7 +240,7 @@ final class TicketListApiControllerByAddresseeTest extends TestCase $user1 = new User(); $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $security->getUser()->willReturn($currentUser); $userRepository = $this->prophesize(UserRepositoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeToMeTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeToMeTest.php index c0054bd90..636c7d113 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeToMeTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByAddresseeToMeTest.php @@ -29,6 +29,7 @@ use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -48,7 +49,7 @@ final class TicketListApiControllerByAddresseeToMeTest extends TestCase $user = new User(); $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $security->getUser()->willReturn($user); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedAfterTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedAfterTest.php index 3efd0bb8e..4cbbe8776 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedAfterTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedAfterTest.php @@ -29,6 +29,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -46,7 +47,7 @@ final class TicketListApiControllerByCreatedAfterTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -121,7 +122,7 @@ final class TicketListApiControllerByCreatedAfterTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -199,7 +200,7 @@ final class TicketListApiControllerByCreatedAfterTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedBeforeTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedBeforeTest.php index e02471866..89a845e83 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedBeforeTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatedBeforeTest.php @@ -29,6 +29,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -46,7 +47,7 @@ final class TicketListApiControllerByCreatedBeforeTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -121,7 +122,7 @@ final class TicketListApiControllerByCreatedBeforeTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -199,7 +200,7 @@ final class TicketListApiControllerByCreatedBeforeTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatorTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatorTest.php index 513e14014..6efd70e75 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatorTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByCreatorTest.php @@ -30,6 +30,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -46,7 +47,7 @@ final class TicketListApiControllerByCreatorTest extends TestCase public function testListTicketWithSingleByCreatorFilter(): void { $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $user = new User(); @@ -106,7 +107,7 @@ final class TicketListApiControllerByCreatorTest extends TestCase public function testListTicketWithMultipleByCreatorFilter(): void { $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $user1 = new User(); $user2 = new User(); @@ -169,7 +170,7 @@ final class TicketListApiControllerByCreatorTest extends TestCase $this->expectException(BadRequestHttpException::class); $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $userRepository = $this->prophesize(UserRepositoryInterface::class); $userRepository->find(99)->willReturn(null); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByPersonCenterTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByPersonCenterTest.php index a141029ba..7b55148c4 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByPersonCenterTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByPersonCenterTest.php @@ -32,6 +32,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; /** @@ -46,7 +47,7 @@ final class TicketListApiControllerByPersonCenterTest extends TestCase public function testListTicketWithSingleCenter(): void { $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $center = new Center(); @@ -107,7 +108,7 @@ final class TicketListApiControllerByPersonCenterTest extends TestCase public function testListTicketWithMultipleCenters(): void { $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $center1 = new Center(); $center2 = new Center(); @@ -173,7 +174,7 @@ final class TicketListApiControllerByPersonCenterTest extends TestCase self::expectExceptionMessage('Only numbers are allowed in by center parameter'); $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); @@ -208,7 +209,7 @@ final class TicketListApiControllerByPersonCenterTest extends TestCase self::expectExceptionMessage('Center not found'); $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $centerRepository = $this->prophesize(CenterRepositoryInterface::class); $centerRepository->find(10)->willReturn(null); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByResponseTimeExceededTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByResponseTimeExceededTest.php index 17241547e..1965bca06 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByResponseTimeExceededTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByResponseTimeExceededTest.php @@ -29,6 +29,7 @@ use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -46,7 +47,7 @@ final class TicketListApiControllerByResponseTimeExceededTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -131,7 +132,7 @@ final class TicketListApiControllerByResponseTimeExceededTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByTicketIdTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByTicketIdTest.php index 1bc10e078..0bd51522e 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByTicketIdTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerByTicketIdTest.php @@ -31,6 +31,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; /** @@ -46,7 +47,7 @@ final class TicketListApiControllerByTicketIdTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -116,7 +117,7 @@ final class TicketListApiControllerByTicketIdTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateEmergencyTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateEmergencyTest.php index cee3b6119..616fb363c 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateEmergencyTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateEmergencyTest.php @@ -30,6 +30,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -47,7 +48,7 @@ final class TicketListApiControllerCurrentStateEmergencyTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -113,7 +114,7 @@ final class TicketListApiControllerCurrentStateEmergencyTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateTest.php index 5813c85ae..dddb5e4b8 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerCurrentStateTest.php @@ -30,6 +30,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -47,7 +48,7 @@ final class TicketListApiControllerCurrentStateTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -113,7 +114,7 @@ final class TicketListApiControllerCurrentStateTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerMotivesTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerMotivesTest.php index 846bb9bfb..b4c40a1f6 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerMotivesTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerMotivesTest.php @@ -30,6 +30,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -47,7 +48,7 @@ final class TicketListApiControllerMotivesTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $motive1 = new Motive(); $motive2 = new Motive(); @@ -116,7 +117,7 @@ final class TicketListApiControllerMotivesTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $motive = new Motive(); @@ -186,7 +187,7 @@ final class TicketListApiControllerMotivesTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); @@ -227,7 +228,7 @@ final class TicketListApiControllerMotivesTest extends TestCase // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerTest.php index 17facdea4..605483e0e 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListApiControllerTest.php @@ -31,6 +31,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use Symfony\Component\Security\Core\Security; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Clock\MockClock; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -48,7 +49,7 @@ final class TicketListApiControllerTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $tickets = [new Ticket(), new Ticket()]; @@ -103,7 +104,7 @@ final class TicketListApiControllerTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $person = new Person(); $security->isGranted(PersonVoter::SEE, $person)->willReturn(true); @@ -168,7 +169,7 @@ final class TicketListApiControllerTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(false); + $security->isGranted(TicketVoter::READ)->willReturn(false); $ticketRepository = $this->prophesize(TicketACLAwareRepositoryInterface::class); $paginatorFactory = $this->prophesize(PaginatorFactoryInterface::class); @@ -207,7 +208,7 @@ final class TicketListApiControllerTest extends TestCase { // Mock dependencies $security = $this->prophesize(Security::class); - $security->isGranted('ROLE_USER')->willReturn(true); + $security->isGranted(TicketVoter::READ)->willReturn(true); $person = new Person(); $security->isGranted(PersonVoter::SEE, $person)->willReturn(false); diff --git a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListControllerTest.php b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListControllerTest.php index 65f237068..30a9d5a80 100644 --- a/src/Bundle/ChillTicketBundle/tests/Controller/TicketListControllerTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Controller/TicketListControllerTest.php @@ -29,6 +29,13 @@ class TicketListControllerTest extends WebTestCase $client->request('GET', '/fr/ticket/ticket/list'); + // The controller requires TicketVoter::READ permission. + // If no fixtures grant this permission to the test user, + // the response will be 403. + if (403 === $client->getResponse()->getStatusCode()) { + self::markTestSkipped('The test user does not have CHILL_TICKET_TICKET_READ permission. Add ticket permission fixtures to enable this test.'); + } + self::assertResponseIsSuccessful(); } } diff --git a/src/Bundle/ChillTicketBundle/tests/Repository/TicketACLAwareRepositoryTest.php b/src/Bundle/ChillTicketBundle/tests/Repository/TicketACLAwareRepositoryTest.php index 17684b06f..a4dd4fb58 100644 --- a/src/Bundle/ChillTicketBundle/tests/Repository/TicketACLAwareRepositoryTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Repository/TicketACLAwareRepositoryTest.php @@ -14,12 +14,17 @@ namespace Chill\TicketBundle\Tests\Repository; use Chill\MainBundle\Entity\Center; use Chill\MainBundle\Entity\User; use Chill\MainBundle\Entity\UserGroup; +use Chill\MainBundle\Repository\CenterRepositoryInterface; +use Chill\MainBundle\Security\Authorization\AuthorizationHelperForCurrentUserInterface; +use Chill\MainBundle\Security\ChillSecurity; use Chill\PersonBundle\DataFixtures\Helper\RandomPersonHelperTrait; use Chill\TicketBundle\Entity\EmergencyStatusEnum; use Chill\TicketBundle\Entity\Motive; use Chill\TicketBundle\Entity\StateEnum; use Chill\TicketBundle\Repository\TicketACLAwareRepository; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Doctrine\ORM\EntityManagerInterface; +use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; /** @@ -30,6 +35,7 @@ use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; class TicketACLAwareRepositoryTest extends KernelTestCase { use RandomPersonHelperTrait; + use ProphecyTrait; private TicketACLAwareRepository $repository; private EntityManagerInterface $entityManager; @@ -38,7 +44,21 @@ class TicketACLAwareRepositoryTest extends KernelTestCase { self::bootKernel(); $this->entityManager = self::getContainer()->get(EntityManagerInterface::class); - $this->repository = new TicketACLAwareRepository($this->entityManager); + + $user = $this->entityManager->createQuery('SELECT u FROM '.User::class.' u')->setMaxResults(1)->getSingleResult(); + $centers = self::getContainer()->get(CenterRepositoryInterface::class)->findAll(); + + $security = $this->prophesize(ChillSecurity::class); + $security->getUser()->willReturn($user); + + $authorizationHelper = $this->prophesize(AuthorizationHelperForCurrentUserInterface::class); + $authorizationHelper->getReachableCenters(TicketVoter::READ)->willReturn($centers); + + $this->repository = new TicketACLAwareRepository( + $this->entityManager, + $security->reveal(), + $authorizationHelper->reveal(), + ); } public function testFindNoParameters(): void