From 354f130e9e620c374ea48e0b394e6e4b6701d6f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Fri, 22 Apr 2022 12:12:50 +0200 Subject: [PATCH] use NotificationPersister into PersonMoveEventSubscriber --- .../PersonAddressMoveEventSubscriber.php | 10 ++--- .../Controller/HouseholdApiController.php | 1 - .../Events/PersonMoveEventSubscriberTest.php | 42 +++++++++---------- 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/AccompanyingPeriod/Events/PersonAddressMoveEventSubscriber.php b/src/Bundle/ChillPersonBundle/AccompanyingPeriod/Events/PersonAddressMoveEventSubscriber.php index 3eff58dc7..04dfb25cc 100644 --- a/src/Bundle/ChillPersonBundle/AccompanyingPeriod/Events/PersonAddressMoveEventSubscriber.php +++ b/src/Bundle/ChillPersonBundle/AccompanyingPeriod/Events/PersonAddressMoveEventSubscriber.php @@ -13,10 +13,10 @@ namespace Chill\PersonBundle\AccompanyingPeriod\Events; use Chill\MainBundle\Entity\Address; use Chill\MainBundle\Entity\Notification; +use Chill\MainBundle\Notification\NotificationPersisterInterface; use Chill\PersonBundle\Entity\AccompanyingPeriod; use Chill\PersonBundle\Event\Person\PersonAddressMoveEvent; use DateTimeImmutable; -use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Security\Core\Security; use Symfony\Component\Templating\EngineInterface; @@ -26,7 +26,7 @@ class PersonAddressMoveEventSubscriber implements EventSubscriberInterface { private EngineInterface $engine; - private EntityManagerInterface $entityManager; + private NotificationPersisterInterface $notificationPersister; private Security $security; @@ -34,12 +34,12 @@ class PersonAddressMoveEventSubscriber implements EventSubscriberInterface public function __construct( EngineInterface $engine, - EntityManagerInterface $entityManager, + NotificationPersisterInterface $notificationPersister, Security $security, TranslatorInterface $translator ) { $this->engine = $engine; - $this->entityManager = $entityManager; + $this->notificationPersister = $notificationPersister; $this->security = $security; $this->translator = $translator; } @@ -87,7 +87,7 @@ class PersonAddressMoveEventSubscriber implements EventSubscriberInterface 'period' => $period, ])); - $this->entityManager->persist($notification); + $this->notificationPersister->persist($notification); } } } diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php index 470094507..f10c1229f 100644 --- a/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php @@ -102,7 +102,6 @@ class HouseholdApiController extends ApiController $event ->setPreviousAddress($household->getPreviousAddressOf($address)) ->setNextAddress($address); - dump($event); $this->eventDispatcher->dispatch($event); } diff --git a/src/Bundle/ChillPersonBundle/Tests/AccompanyingPeriod/Events/PersonMoveEventSubscriberTest.php b/src/Bundle/ChillPersonBundle/Tests/AccompanyingPeriod/Events/PersonMoveEventSubscriberTest.php index 321d69aac..892bd29f5 100644 --- a/src/Bundle/ChillPersonBundle/Tests/AccompanyingPeriod/Events/PersonMoveEventSubscriberTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/AccompanyingPeriod/Events/PersonMoveEventSubscriberTest.php @@ -14,6 +14,8 @@ namespace AccompanyingPeriod\Events; use Chill\MainBundle\Entity\Address; use Chill\MainBundle\Entity\Notification; use Chill\MainBundle\Entity\User; +use Chill\MainBundle\Notification\NotificationPersister; +use Chill\MainBundle\Notification\NotificationPersisterInterface; use Chill\PersonBundle\AccompanyingPeriod\Events\PersonAddressMoveEventSubscriber; use Chill\PersonBundle\Entity\AccompanyingPeriod; use Chill\PersonBundle\Entity\Household\Household; @@ -22,7 +24,6 @@ use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Event\Person\PersonAddressMoveEvent; use DateTime; use DateTimeImmutable; -use Doctrine\ORM\EntityManagerInterface; use Prophecy\Argument; use Prophecy\PhpUnit\ProphecyTrait; use ReflectionClass; @@ -73,9 +74,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase ->setPreviousMembership($previousMembership) ->setNextMembership($nextMembership); - $em = $this->prophesize(EntityManagerInterface::class); - $em->persist(Argument::type(Notification::class))->shouldNotBeCalled(); - $eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null); + $notificationPersister = $this->prophesize(NotificationPersisterInterface::class); + $notificationPersister->persist(Argument::type(Notification::class))->shouldNotBeCalled(); + $eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null); $eventSubscriber->resetPeriodLocation($event); } @@ -115,9 +116,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase ->setPreviousMembership($previousMembership) ->setNextMembership($nextMembership); - $em = $this->prophesize(EntityManagerInterface::class); - $em->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1); - $eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null); + $notificationPersister = $this->prophesize(NotificationPersisterInterface::class); + $notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1); + $eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null); $eventSubscriber->resetPeriodLocation($event); @@ -160,9 +161,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase ->setPreviousMembership($previousMembership) ->setNextMembership($nextMembership); - $em = $this->prophesize(EntityManagerInterface::class); - $em->persist(Argument::type(Notification::class))->shouldBeCalled(1); - $eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null); + $notificationPersister = $this->prophesize(NotificationPersisterInterface::class); + $notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalled(1); + $eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null); $eventSubscriber->resetPeriodLocation($event); @@ -195,9 +196,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase $event ->setPreviousMembership($previousMembership); - $em = $this->prophesize(EntityManagerInterface::class); - $em->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1); - $eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null); + $notificationPersister = $this->prophesize(NotificationPersisterInterface::class); + $notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1); + $eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null); $eventSubscriber->resetPeriodLocation($event); @@ -235,9 +236,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase ->setPreviousAddress($household->getPreviousAddressOf($newAddress)) ->setNextAddress($newAddress); - $em = $this->prophesize(EntityManagerInterface::class); - $em->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1); - $eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null); + $notificationPersister = $this->prophesize(NotificationPersisterInterface::class); + $notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1); + $eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null); $eventSubscriber->resetPeriodLocation($event); @@ -247,7 +248,7 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase private function buildSubscriber( ?EngineInterface $engine = null, - ?EntityManagerInterface $entityManager = null, + ?NotificationPersisterInterface $notificationPersister = null, ?Security $security = null, ?TranslatorInterface $translator = null ): PersonAddressMoveEventSubscriber { @@ -267,14 +268,13 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase $engine = $double->reveal(); } - if (null === $entityManager) { - $double = $this->prophesize(EntityManagerInterface::class); - $entityManager = $double->reveal(); + if (null === $notificationPersister) { + $notificationPersister = new NotificationPersister(); } return new PersonAddressMoveEventSubscriber( $engine, - $entityManager, + $notificationPersister, $security, $translator );