diff --git a/src/EventSubscriber/Doctrine/EntityBlamableSubscriber.php b/src/EventSubscriber/Doctrine/EntityBlamableSubscriber.php index 372bb041..cca451e1 100644 --- a/src/EventSubscriber/Doctrine/EntityBlamableSubscriber.php +++ b/src/EventSubscriber/Doctrine/EntityBlamableSubscriber.php @@ -7,7 +7,8 @@ use App\Entity\AbstractBlamableEntity; use App\Entity\User\User; use Doctrine\Common\EventSubscriber; -use Doctrine\ORM\Event\LifecycleEventArgs; +use Doctrine\ORM\Event\PrePersistEventArgs; +use Doctrine\ORM\Event\PreUpdateEventArgs; use Doctrine\ORM\Events; use Symfony\Component\Security\Core\Security; @@ -26,7 +27,7 @@ public function getSubscribedEvents(): array ]; } - public function prePersist(LifecycleEventArgs $args): void + public function prePersist(PrePersistEventArgs $args): void { $currentUser = $this->security->getUser(); $entity = $args->getObject(); @@ -36,7 +37,7 @@ public function prePersist(LifecycleEventArgs $args): void } } - public function preUpdate(LifecycleEventArgs $args): void + public function preUpdate(PreUpdateEventArgs $args): void { $currentUser = $this->security->getUser(); $entity = $args->getObject(); diff --git a/src/EventSubscriber/Doctrine/ModGroupUpdatedSubscriber.php b/src/EventSubscriber/Doctrine/ModGroupUpdatedSubscriber.php index ef62fcf0..a0d1c18b 100644 --- a/src/EventSubscriber/Doctrine/ModGroupUpdatedSubscriber.php +++ b/src/EventSubscriber/Doctrine/ModGroupUpdatedSubscriber.php @@ -9,8 +9,8 @@ use App\Entity\User\User; use App\Repository\ModList\ModListRepository; use Doctrine\Common\EventSubscriber; -use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\PostFlushEventArgs; +use Doctrine\ORM\Event\PreUpdateEventArgs; use Doctrine\ORM\Events; use Symfony\Component\Security\Core\Security; @@ -31,9 +31,9 @@ public function getSubscribedEvents(): array ]; } - public function preUpdate(LifecycleEventArgs $args): void + public function preUpdate(PreUpdateEventArgs $args): void { - $entityManager = $args->getEntityManager(); + $entityManager = $args->getObjectManager(); $modGroup = $args->getObject(); // Do nothing if updated entity is not a Mod Group or no changes were made to the entity @@ -52,7 +52,7 @@ public function postFlush(PostFlushEventArgs $args): void return; } - $entityManager = $args->getEntityManager(); + $entityManager = $args->getObjectManager(); /** @var ModListRepository $modListRepository */ $modListRepository = $entityManager->getRepository(ModList::class); diff --git a/src/Security/Traits/UserInterfaceTrait.php b/src/Security/Traits/UserInterfaceTrait.php index 9b942523..26a820b4 100644 --- a/src/Security/Traits/UserInterfaceTrait.php +++ b/src/Security/Traits/UserInterfaceTrait.php @@ -10,7 +10,7 @@ trait UserInterfaceTrait { public function getUserIdentifier(): string { - return $this->getUsername(); + return $this->username; } public function getPassword(): ?string diff --git a/tests/unit/EventSubscriber/Doctrine/EntityBlamableSubscriberTest.php b/tests/unit/EventSubscriber/Doctrine/EntityBlamableSubscriberTest.php index 858f0743..3839b7f3 100644 --- a/tests/unit/EventSubscriber/Doctrine/EntityBlamableSubscriberTest.php +++ b/tests/unit/EventSubscriber/Doctrine/EntityBlamableSubscriberTest.php @@ -7,7 +7,9 @@ use App\Entity\AbstractBlamableEntity; use App\Entity\User\User; use App\EventSubscriber\Doctrine\EntityBlamableSubscriber; -use Doctrine\ORM\Event\LifecycleEventArgs; +use Doctrine\ORM\EntityManagerInterface; +use Doctrine\ORM\Event\PrePersistEventArgs; +use Doctrine\ORM\Event\PreUpdateEventArgs; use Doctrine\ORM\Events; use PHPUnit\Framework\TestCase; use Symfony\Component\Security\Core\Security; @@ -41,7 +43,10 @@ public function getSubscribedEvents(): void public function prePersist_validEventArgs_entityUpdated(): void { $user = $this->createMock(User::class); + $security = $this->createMock(Security::class); + $security->method('getUser')->willReturn($user); + $entityManager = $this->createMock(EntityManagerInterface::class); $entity = $this->createMock(AbstractBlamableEntity::class); $entity ->expects(static::once()) @@ -49,11 +54,7 @@ public function prePersist_validEventArgs_entityUpdated(): void ->with(static::isInstanceOf(User::class)) ; - $security = $this->createMock(Security::class); - $security->method('getUser')->willReturn($user); - - $lifecycleEventArgs = $this->createMock(LifecycleEventArgs::class); - $lifecycleEventArgs->method('getObject')->willReturn($entity); + $lifecycleEventArgs = new PrePersistEventArgs($entity, $entityManager); $entityBlamableSubscriberTest = new EntityBlamableSubscriber($security); $entityBlamableSubscriberTest->prePersist($lifecycleEventArgs); @@ -68,8 +69,8 @@ public function prePersist_invalidEventArgs_entityNotUpdated(mixed $user, mixed $security = $this->createMock(Security::class); $security->method('getUser')->willReturn($user); - $lifecycleEventArgs = $this->createMock(LifecycleEventArgs::class); - $lifecycleEventArgs->method('getObject')->willReturn($entity); + $entityManager = $this->createMock(EntityManagerInterface::class); + $lifecycleEventArgs = new PrePersistEventArgs($entity, $entityManager); $entityBlamableSubscriberTest = new EntityBlamableSubscriber($security); $entityBlamableSubscriberTest->prePersist($lifecycleEventArgs); @@ -81,7 +82,10 @@ public function prePersist_invalidEventArgs_entityNotUpdated(mixed $user, mixed public function preUpdate_validEventArgs_entityUpdated(): void { $user = $this->createMock(User::class); + $security = $this->createMock(Security::class); + $security->method('getUser')->willReturn($user); + $entityManager = $this->createMock(EntityManagerInterface::class); $entity = $this->createMock(AbstractBlamableEntity::class); $entity ->expects(static::once()) @@ -89,11 +93,8 @@ public function preUpdate_validEventArgs_entityUpdated(): void ->with(static::isInstanceOf(User::class)) ; - $security = $this->createMock(Security::class); - $security->method('getUser')->willReturn($user); - - $lifecycleEventArgs = $this->createMock(LifecycleEventArgs::class); - $lifecycleEventArgs->method('getObject')->willReturn($entity); + $changeSet = []; + $lifecycleEventArgs = new PreUpdateEventArgs($entity, $entityManager, $changeSet); $entityBlamableSubscriberTest = new EntityBlamableSubscriber($security); $entityBlamableSubscriberTest->preUpdate($lifecycleEventArgs); @@ -108,8 +109,10 @@ public function preUpdate_invalidEventArgs_entityNotUpdated(mixed $user, mixed $ $security = $this->createMock(Security::class); $security->method('getUser')->willReturn($user); - $lifecycleEventArgs = $this->createMock(LifecycleEventArgs::class); - $lifecycleEventArgs->method('getObject')->willReturn($entity); + $entityManager = $this->createMock(EntityManagerInterface::class); + + $changeSet = []; + $lifecycleEventArgs = new PreUpdateEventArgs($entity, $entityManager, $changeSet); $entityBlamableSubscriberTest = new EntityBlamableSubscriber($security); $entityBlamableSubscriberTest->preUpdate($lifecycleEventArgs);