diff --git a/src/Bundle/ChillTicketBundle/src/Action/Ticket/Handler/AssociateByPhonenumberCommandHandler.php b/src/Bundle/ChillTicketBundle/src/Action/Ticket/Handler/AssociateByPhonenumberCommandHandler.php index 40276622e..deec240f2 100644 --- a/src/Bundle/ChillTicketBundle/src/Action/Ticket/Handler/AssociateByPhonenumberCommandHandler.php +++ b/src/Bundle/ChillTicketBundle/src/Action/Ticket/Handler/AssociateByPhonenumberCommandHandler.php @@ -11,26 +11,26 @@ declare(strict_types=1); namespace Chill\TicketBundle\Action\Ticket\Handler; +use Chill\MainBundle\Phonenumber\PhonenumberHelper; use Chill\PersonBundle\Repository\PersonACLAwareRepositoryInterface; use Chill\TicketBundle\Action\Ticket\AssociateByPhonenumberCommand; use Chill\TicketBundle\Entity\PersonHistory; use Chill\TicketBundle\Entity\Ticket; use Doctrine\ORM\EntityManagerInterface; -use libphonenumber\PhoneNumberUtil; use Symfony\Component\Clock\ClockInterface; class AssociateByPhonenumberCommandHandler { public function __construct( private PersonACLAwareRepositoryInterface $personRepository, - private PhoneNumberUtil $phoneNumberUtil, + private PhonenumberHelper $phonenumberHelper, private ClockInterface $clock, private EntityManagerInterface $entityManager, ) {} public function __invoke(Ticket $ticket, AssociateByPhonenumberCommand $command): void { - $phone = $this->phoneNumberUtil->parse($command->phonenumber); + $phone = $this->phonenumberHelper->parse($command->phonenumber); $persons = $this->personRepository->findByPhone($phone); foreach ($persons as $person) { diff --git a/src/Bundle/ChillTicketBundle/tests/Action/Ticket/Handler/AssociateByPhonenumberCommandHandlerTest.php b/src/Bundle/ChillTicketBundle/tests/Action/Ticket/Handler/AssociateByPhonenumberCommandHandlerTest.php index 7907712ab..5ade6ec82 100644 --- a/src/Bundle/ChillTicketBundle/tests/Action/Ticket/Handler/AssociateByPhonenumberCommandHandlerTest.php +++ b/src/Bundle/ChillTicketBundle/tests/Action/Ticket/Handler/AssociateByPhonenumberCommandHandlerTest.php @@ -11,17 +11,20 @@ declare(strict_types=1); namespace Chill\TicketBundle\Tests\Action\Ticket\Handler; +use Chill\MainBundle\Phonenumber\PhonenumberHelper; use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Repository\PersonACLAwareRepositoryInterface; use Chill\TicketBundle\Action\Ticket\AssociateByPhonenumberCommand; use Chill\TicketBundle\Action\Ticket\Handler\AssociateByPhonenumberCommandHandler; use Chill\TicketBundle\Entity\Ticket; use Doctrine\ORM\EntityManagerInterface; -use libphonenumber\PhoneNumberUtil; use PHPUnit\Framework\TestCase; use Prophecy\Argument; use Prophecy\PhpUnit\ProphecyTrait; +use Psr\Log\NullLogger; +use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Clock\MockClock; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; /** * @internal @@ -36,10 +39,19 @@ class AssociateByPhonenumberCommandHandlerTest extends TestCase PersonACLAwareRepositoryInterface $personACLAwareRepository, ): AssociateByPhonenumberCommandHandler { $entityManager = $this->prophesize(EntityManagerInterface::class); + $phonenumberHelper = new PhonenumberHelper( + new ArrayAdapter(), + new ParameterBag([ + 'chill_main.phone_helper' => [ + 'default_carrier_code' => 'BE', + ], + ]), + new NullLogger() + ); return new AssociateByPhonenumberCommandHandler( $personACLAwareRepository, - PhoneNumberUtil::getInstance(), + $phonenumberHelper, new MockClock(), $entityManager->reveal() );