/** * @test */ public function shouldExecuteFillOrderDetailsIfStatusNew() { $order = new Order(); $testCase = $this; $paymentMock = $this->createPaymentMock(); $paymentMock ->expects($this->at(0)) ->method('execute') ->with($this->isInstanceOf('Payum\Core\Request\GetHumanStatus')) ->will($this->returnCallback(function (GetHumanStatus $request) { $request->markNew(); })) ; $paymentMock ->expects($this->at(1)) ->method('execute') ->with($this->isInstanceOf('Payum\Core\Request\FillOrderDetails')) ->will($this->returnCallback(function (FillOrderDetails $request) use ($testCase, $order) { $testCase->assertSame($order, $request->getOrder()); $testCase->assertNull($request->getToken()); })) ; $action = new CaptureOrderAction(); $action->setPayment($paymentMock); $action->execute($capture = new Capture($order)); $this->assertSame($order, $capture->getFirstModel()); $this->assertInstanceOf('ArrayAccess', $capture->getModel()); $this->assertNull($capture->getToken()); }
/** * @test */ public function shouldExecuteConvertRequestIfStatusNew() { $payment = new Payment(); $testCase = $this; $gatewayMock = $this->createGatewayMock(); $gatewayMock->expects($this->at(0))->method('execute')->with($this->isInstanceOf('Payum\\Core\\Request\\GetHumanStatus'))->will($this->returnCallback(function (GetHumanStatus $request) { $request->markNew(); })); $gatewayMock->expects($this->at(1))->method('execute')->with($this->isInstanceOf('Payum\\Core\\Request\\Convert'))->will($this->returnCallback(function (Convert $request) use($testCase, $payment) { $testCase->assertSame($payment, $request->getSource()); $testCase->assertSame('array', $request->getTo()); $testCase->assertNull($request->getToken()); $request->setResult(array()); })); $action = new CapturePaymentAction(); $action->setGateway($gatewayMock); $action->execute($capture = new Capture($payment)); $this->assertSame($payment, $capture->getFirstModel()); $this->assertInstanceOf('ArrayAccess', $capture->getModel()); $this->assertNull($capture->getToken()); }