diff --git a/src/Bundle/ChillDocStoreBundle/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandler.php b/src/Bundle/ChillDocStoreBundle/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandler.php index 7b94b3124..a8205c506 100644 --- a/src/Bundle/ChillDocStoreBundle/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandler.php +++ b/src/Bundle/ChillDocStoreBundle/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandler.php @@ -53,7 +53,6 @@ final readonly class PdfSignedMessageHandler implements MessageHandlerInterface $this->entityManager->wrapInTransaction(function () use ($storedObject, $message, $signature) { $this->storedObjectManager->write($storedObject, $message->content); - $this->signatureStepStateChanger->markSignatureAsSigned($signature, $message->signatureZoneIndex); }); diff --git a/src/Bundle/ChillDocStoreBundle/Tests/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandlerTest.php b/src/Bundle/ChillDocStoreBundle/Tests/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandlerTest.php index fed1b1274..a900f4e1f 100644 --- a/src/Bundle/ChillDocStoreBundle/Tests/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandlerTest.php +++ b/src/Bundle/ChillDocStoreBundle/Tests/Service/Signature/Driver/BaseSigner/PdfSignedMessageHandlerTest.php @@ -25,6 +25,8 @@ use Chill\MainBundle\Workflow\WorkflowTransitionContextDTO; use Chill\PersonBundle\Entity\Person; use Doctrine\ORM\EntityManagerInterface; use PHPUnit\Framework\TestCase; +use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Psr\Log\NullLogger; /** @@ -34,6 +36,8 @@ use Psr\Log\NullLogger; */ class PdfSignedMessageHandlerTest extends TestCase { + use ProphecyTrait; + public function testThatObjectIsWrittenInStoredObjectManagerHappyScenario(): void { // a dummy stored object @@ -91,10 +95,19 @@ class PdfSignedMessageHandlerTest extends TestCase private function buildEntityManager(bool $willFlush): EntityManagerInterface { - $em = $this->createMock(EntityManagerInterface::class); - $em->expects($willFlush ? $this->once() : $this->never())->method('flush'); - $em->expects($willFlush ? $this->once() : $this->never())->method('clear'); + $em = $this->prophesize(EntityManagerInterface::class); + $clear = $em->clear(); + $wrap = $em->wrapInTransaction(Argument::type('callable'))->will(function ($args) { + $callable = $args[0]; - return $em; + return call_user_func($callable); + }); + + if ($willFlush) { + $clear->shouldBeCalled(); + $wrap->shouldBeCalled(); + } + + return $em->reveal(); } }