mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
use NotificationPersister into PersonMoveEventSubscriber
This commit is contained in:
parent
2d9af8f8c0
commit
354f130e9e
@ -13,10 +13,10 @@ namespace Chill\PersonBundle\AccompanyingPeriod\Events;
|
|||||||
|
|
||||||
use Chill\MainBundle\Entity\Address;
|
use Chill\MainBundle\Entity\Address;
|
||||||
use Chill\MainBundle\Entity\Notification;
|
use Chill\MainBundle\Entity\Notification;
|
||||||
|
use Chill\MainBundle\Notification\NotificationPersisterInterface;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Event\Person\PersonAddressMoveEvent;
|
use Chill\PersonBundle\Event\Person\PersonAddressMoveEvent;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
|
||||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Component\Security\Core\Security;
|
||||||
use Symfony\Component\Templating\EngineInterface;
|
use Symfony\Component\Templating\EngineInterface;
|
||||||
@ -26,7 +26,7 @@ class PersonAddressMoveEventSubscriber implements EventSubscriberInterface
|
|||||||
{
|
{
|
||||||
private EngineInterface $engine;
|
private EngineInterface $engine;
|
||||||
|
|
||||||
private EntityManagerInterface $entityManager;
|
private NotificationPersisterInterface $notificationPersister;
|
||||||
|
|
||||||
private Security $security;
|
private Security $security;
|
||||||
|
|
||||||
@ -34,12 +34,12 @@ class PersonAddressMoveEventSubscriber implements EventSubscriberInterface
|
|||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
EngineInterface $engine,
|
EngineInterface $engine,
|
||||||
EntityManagerInterface $entityManager,
|
NotificationPersisterInterface $notificationPersister,
|
||||||
Security $security,
|
Security $security,
|
||||||
TranslatorInterface $translator
|
TranslatorInterface $translator
|
||||||
) {
|
) {
|
||||||
$this->engine = $engine;
|
$this->engine = $engine;
|
||||||
$this->entityManager = $entityManager;
|
$this->notificationPersister = $notificationPersister;
|
||||||
$this->security = $security;
|
$this->security = $security;
|
||||||
$this->translator = $translator;
|
$this->translator = $translator;
|
||||||
}
|
}
|
||||||
@ -87,7 +87,7 @@ class PersonAddressMoveEventSubscriber implements EventSubscriberInterface
|
|||||||
'period' => $period,
|
'period' => $period,
|
||||||
]));
|
]));
|
||||||
|
|
||||||
$this->entityManager->persist($notification);
|
$this->notificationPersister->persist($notification);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,7 +102,6 @@ class HouseholdApiController extends ApiController
|
|||||||
$event
|
$event
|
||||||
->setPreviousAddress($household->getPreviousAddressOf($address))
|
->setPreviousAddress($household->getPreviousAddressOf($address))
|
||||||
->setNextAddress($address);
|
->setNextAddress($address);
|
||||||
dump($event);
|
|
||||||
$this->eventDispatcher->dispatch($event);
|
$this->eventDispatcher->dispatch($event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ namespace AccompanyingPeriod\Events;
|
|||||||
use Chill\MainBundle\Entity\Address;
|
use Chill\MainBundle\Entity\Address;
|
||||||
use Chill\MainBundle\Entity\Notification;
|
use Chill\MainBundle\Entity\Notification;
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
|
use Chill\MainBundle\Notification\NotificationPersister;
|
||||||
|
use Chill\MainBundle\Notification\NotificationPersisterInterface;
|
||||||
use Chill\PersonBundle\AccompanyingPeriod\Events\PersonAddressMoveEventSubscriber;
|
use Chill\PersonBundle\AccompanyingPeriod\Events\PersonAddressMoveEventSubscriber;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Entity\Household\Household;
|
use Chill\PersonBundle\Entity\Household\Household;
|
||||||
@ -22,7 +24,6 @@ use Chill\PersonBundle\Entity\Person;
|
|||||||
use Chill\PersonBundle\Event\Person\PersonAddressMoveEvent;
|
use Chill\PersonBundle\Event\Person\PersonAddressMoveEvent;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
|
||||||
use Prophecy\Argument;
|
use Prophecy\Argument;
|
||||||
use Prophecy\PhpUnit\ProphecyTrait;
|
use Prophecy\PhpUnit\ProphecyTrait;
|
||||||
use ReflectionClass;
|
use ReflectionClass;
|
||||||
@ -73,9 +74,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
->setPreviousMembership($previousMembership)
|
->setPreviousMembership($previousMembership)
|
||||||
->setNextMembership($nextMembership);
|
->setNextMembership($nextMembership);
|
||||||
|
|
||||||
$em = $this->prophesize(EntityManagerInterface::class);
|
$notificationPersister = $this->prophesize(NotificationPersisterInterface::class);
|
||||||
$em->persist(Argument::type(Notification::class))->shouldNotBeCalled();
|
$notificationPersister->persist(Argument::type(Notification::class))->shouldNotBeCalled();
|
||||||
$eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null);
|
$eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null);
|
||||||
|
|
||||||
$eventSubscriber->resetPeriodLocation($event);
|
$eventSubscriber->resetPeriodLocation($event);
|
||||||
}
|
}
|
||||||
@ -115,9 +116,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
->setPreviousMembership($previousMembership)
|
->setPreviousMembership($previousMembership)
|
||||||
->setNextMembership($nextMembership);
|
->setNextMembership($nextMembership);
|
||||||
|
|
||||||
$em = $this->prophesize(EntityManagerInterface::class);
|
$notificationPersister = $this->prophesize(NotificationPersisterInterface::class);
|
||||||
$em->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1);
|
$notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1);
|
||||||
$eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null);
|
$eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null);
|
||||||
|
|
||||||
$eventSubscriber->resetPeriodLocation($event);
|
$eventSubscriber->resetPeriodLocation($event);
|
||||||
|
|
||||||
@ -160,9 +161,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
->setPreviousMembership($previousMembership)
|
->setPreviousMembership($previousMembership)
|
||||||
->setNextMembership($nextMembership);
|
->setNextMembership($nextMembership);
|
||||||
|
|
||||||
$em = $this->prophesize(EntityManagerInterface::class);
|
$notificationPersister = $this->prophesize(NotificationPersisterInterface::class);
|
||||||
$em->persist(Argument::type(Notification::class))->shouldBeCalled(1);
|
$notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalled(1);
|
||||||
$eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null);
|
$eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null);
|
||||||
|
|
||||||
$eventSubscriber->resetPeriodLocation($event);
|
$eventSubscriber->resetPeriodLocation($event);
|
||||||
|
|
||||||
@ -195,9 +196,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
$event
|
$event
|
||||||
->setPreviousMembership($previousMembership);
|
->setPreviousMembership($previousMembership);
|
||||||
|
|
||||||
$em = $this->prophesize(EntityManagerInterface::class);
|
$notificationPersister = $this->prophesize(NotificationPersisterInterface::class);
|
||||||
$em->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1);
|
$notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1);
|
||||||
$eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null);
|
$eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null);
|
||||||
|
|
||||||
$eventSubscriber->resetPeriodLocation($event);
|
$eventSubscriber->resetPeriodLocation($event);
|
||||||
|
|
||||||
@ -235,9 +236,9 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
->setPreviousAddress($household->getPreviousAddressOf($newAddress))
|
->setPreviousAddress($household->getPreviousAddressOf($newAddress))
|
||||||
->setNextAddress($newAddress);
|
->setNextAddress($newAddress);
|
||||||
|
|
||||||
$em = $this->prophesize(EntityManagerInterface::class);
|
$notificationPersister = $this->prophesize(NotificationPersisterInterface::class);
|
||||||
$em->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1);
|
$notificationPersister->persist(Argument::type(Notification::class))->shouldBeCalledTimes(1);
|
||||||
$eventSubscriber = $this->buildSubscriber(null, $em->reveal(), null, null);
|
$eventSubscriber = $this->buildSubscriber(null, $notificationPersister->reveal(), null, null);
|
||||||
|
|
||||||
$eventSubscriber->resetPeriodLocation($event);
|
$eventSubscriber->resetPeriodLocation($event);
|
||||||
|
|
||||||
@ -247,7 +248,7 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
|
|
||||||
private function buildSubscriber(
|
private function buildSubscriber(
|
||||||
?EngineInterface $engine = null,
|
?EngineInterface $engine = null,
|
||||||
?EntityManagerInterface $entityManager = null,
|
?NotificationPersisterInterface $notificationPersister = null,
|
||||||
?Security $security = null,
|
?Security $security = null,
|
||||||
?TranslatorInterface $translator = null
|
?TranslatorInterface $translator = null
|
||||||
): PersonAddressMoveEventSubscriber {
|
): PersonAddressMoveEventSubscriber {
|
||||||
@ -267,14 +268,13 @@ final class PersonMoveEventSubscriberTest extends KernelTestCase
|
|||||||
$engine = $double->reveal();
|
$engine = $double->reveal();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null === $entityManager) {
|
if (null === $notificationPersister) {
|
||||||
$double = $this->prophesize(EntityManagerInterface::class);
|
$notificationPersister = new NotificationPersister();
|
||||||
$entityManager = $double->reveal();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new PersonAddressMoveEventSubscriber(
|
return new PersonAddressMoveEventSubscriber(
|
||||||
$engine,
|
$engine,
|
||||||
$entityManager,
|
$notificationPersister,
|
||||||
$security,
|
$security,
|
||||||
$translator
|
$translator
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user