diff --git a/tests/Form/Model/ParticipantEditDtoTest.php b/tests/Form/Model/ParticipantEditDtoTest.php index f71f0da..f24d588 100644 --- a/tests/Form/Model/ParticipantEditDtoTest.php +++ b/tests/Form/Model/ParticipantEditDtoTest.php @@ -9,8 +9,11 @@ use App\BusProNet\XmlLoader\AgencyLoader; use App\Form\Model\BookingDto; use App\Form\Model\ParticipantDto; use App\Form\Model\ParticipantEditDto; +use App\Form\Service\ServiceAgeEvaluator; use App\Service\BookingPriceCalculatorService; +use App\Service\ParticipantEligibilityService; use App\Service\VoucherValidationService; +use App\Validator\Constraints\MandatoryAdditionalServicesSelectedValidator; use App\Validator\Constraints\PromoVoucherValidator; use App\Validator\Constraints\PurchaseVoucherValidator; use PHPUnit\Framework\TestCase; @@ -38,12 +41,21 @@ class ParticipantEditDtoTest extends TestCase // Create mock services for validator dependencies $mockVoucherService = $this->createMock(VoucherValidationService::class); $mockPriceCalculatorService = $this->createMock(BookingPriceCalculatorService::class); + $mockParticipantEligibilityService = $this->createMock(ParticipantEligibilityService::class); + $mockServiceAgeEvaluator = $this->createMock(ServiceAgeEvaluator::class); // Create custom validator factory that can inject dependencies - $validatorFactory = new class($mockVoucherService, $mockPriceCalculatorService) implements ConstraintValidatorFactoryInterface { + $validatorFactory = new class( + $mockVoucherService, + $mockPriceCalculatorService, + $mockParticipantEligibilityService, + $mockServiceAgeEvaluator + ) implements ConstraintValidatorFactoryInterface { public function __construct( private readonly VoucherValidationService $voucherService, private readonly BookingPriceCalculatorService $priceCalculatorService, + private readonly ParticipantEligibilityService $participantEligibilityService, + private readonly ServiceAgeEvaluator $serviceAgeEvaluator, ) { } @@ -63,6 +75,13 @@ class ParticipantEditDtoTest extends TestCase return new EmailValidator(Email::VALIDATION_MODE_HTML5); } + if (MandatoryAdditionalServicesSelectedValidator::class === $className) { + return new MandatoryAdditionalServicesSelectedValidator( + $this->participantEligibilityService, + $this->serviceAgeEvaluator + ); + } + return new $className(); } };