[API] Make PaymentMethodChanger resolver argument nullable

This commit is contained in:
Grzegorz Sadowski 2026-05-25 12:56:01 +02:00
parent 97ea859c21
commit 3154b76f19
No known key found for this signature in database
GPG key ID: EF87FF4E6E3BD364

View file

@ -27,7 +27,7 @@ final readonly class PaymentMethodChanger implements PaymentMethodChangerInterfa
public function __construct( public function __construct(
private PaymentRepositoryInterface $paymentRepository, private PaymentRepositoryInterface $paymentRepository,
private PaymentMethodRepositoryInterface $paymentMethodRepository, private PaymentMethodRepositoryInterface $paymentMethodRepository,
private PaymentMethodsResolverInterface $paymentMethodsResolver, private ?PaymentMethodsResolverInterface $paymentMethodsResolver = null,
) { ) {
} }
@ -45,7 +45,10 @@ final readonly class PaymentMethodChanger implements PaymentMethodChangerInterfa
$payment = $this->paymentRepository->findOneByOrderId($paymentId, $order->getId()); $payment = $this->paymentRepository->findOneByOrderId($paymentId, $order->getId());
Assert::notNull($payment, 'Can not find payment with given identifier.'); Assert::notNull($payment, 'Can not find payment with given identifier.');
if (!in_array($paymentMethod, $this->paymentMethodsResolver->getSupportedMethods($payment), true)) { if (
$this->paymentMethodsResolver !== null &&
!in_array($paymentMethod, $this->paymentMethodsResolver->getSupportedMethods($payment), true)
) {
throw new PaymentMethodCannotBeChangedException(); throw new PaymentMethodCannotBeChangedException();
} }