public function testHandleError() { $router = $this->getMock('Symfony\\Component\\Routing\\RouterInterface'); $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface'); $paypal = new Paypal($router, $translator); $paypal->setLogger($this->getMock('Psr\\Log\\LoggerInterface')); $order = $this->getMock('Sonata\\Component\\Order\\OrderInterface'); $order->expects($this->any())->method('getCreatedAt')->will($this->returnValue(new \DateTime())); $order->expects($this->any())->method('isValidated')->will($this->returnValue(true)); $transaction = $this->getMock('Sonata\\Component\\Payment\\TransactionInterface'); $transaction->expects($this->any())->method('getOrder')->will($this->returnValue($order)); $paypal->handleError($transaction); $transaction = $this->getMock('Sonata\\Component\\Payment\\TransactionInterface'); $transaction->expects($this->any())->method('getOrder')->will($this->returnValue($order)); $transaction->expects($this->any())->method('getStatusCode')->will($this->returnValue(TransactionInterface::STATUS_ORDER_UNKNOWN)); $paypal->handleError($transaction); $transaction = $this->getMock('Sonata\\Component\\Payment\\TransactionInterface'); $transaction->expects($this->any())->method('getOrder')->will($this->returnValue($order)); $transaction->expects($this->any())->method('getStatusCode')->will($this->returnValue(TransactionInterface::STATUS_ERROR_VALIDATION)); $paypal->handleError($transaction); $transaction = $this->getMock('Sonata\\Component\\Payment\\TransactionInterface'); $transaction->expects($this->any())->method('getOrder')->will($this->returnValue($order)); $transaction->expects($this->any())->method('getStatusCode')->will($this->returnValue(TransactionInterface::STATUS_CANCELLED)); $paypal->handleError($transaction); $transaction = $this->getMock('Sonata\\Component\\Payment\\TransactionInterface'); $transaction->expects($this->any())->method('getOrder')->will($this->returnValue($order)); $transaction->expects($this->any())->method('getStatusCode')->will($this->returnValue(TransactionInterface::STATUS_PENDING)); $transaction->expects($this->any())->method('get')->will($this->returnValue(Paypal::PENDING_REASON_ADDRESS)); $paypal->handleError($transaction); }