コード例 #1
0
 function it_sets_payment_method_from_last_failed_payment_during_processing(PaymentFactoryInterface $paymentFactory, PaymentInterface $payment, PaymentInterface $failedPayment, OrderInterface $order, PaymentMethodInterface $paymentMethodFromLastFailedPayment)
 {
     $payments = new ArrayCollection();
     $payments->add($failedPayment->getWrappedObject());
     $order->getPayments()->willReturn($payments);
     $order->getState()->willReturn(OrderInterface::STATE_NEW);
     $order->getLastNewPayment()->willReturn(null);
     $order->getTotal()->willReturn(1234);
     $order->getCurrencyCode()->willReturn('EUR');
     $paymentFactory->createWithAmountAndCurrencyCode(1234, 'EUR')->willReturn($payment);
     $failedPayment->getState()->willReturn(PaymentInterface::STATE_FAILED);
     $failedPayment->getMethod()->willReturn($paymentMethodFromLastFailedPayment);
     $payment->setMethod($paymentMethodFromLastFailedPayment)->shouldBeCalled();
     $payment->setOrder($order)->shouldBeCalled();
     $order->addPayment($payment)->shouldBeCalled();
     $this->process($order);
 }