/**
  * @test
  */
 public function shouldAllowSetModelAndKeepTokenSame()
 {
     $token = new Token();
     $request = new SecuredCaptureRequest($token);
     //guard
     $this->assertSame($token, $request->getToken());
     $this->assertSame($token, $request->getModel());
     $newModel = new \stdClass();
     $request->setModel($newModel);
     $this->assertSame($token, $request->getToken());
     $this->assertSame($newModel, $request->getModel());
 }
 /**
  * @test
  */
 public function shouldSetTokenTargetUrlAsCancelUrlIfSecuredCaptureRequestPassedAndReturnUrlNotSet()
 {
     $testCase = $this;
     $expectedCancelUrl = 'theCancelUrl';
     $token = new Token();
     $token->setTargetUrl($expectedCancelUrl);
     $token->setDetails(array());
     $paymentMock = $this->createPaymentMock();
     $paymentMock->expects($this->at(0))->method('execute')->with($this->isInstanceOf('Payum\\Paypal\\ExpressCheckout\\Nvp\\Request\\Api\\SetExpressCheckoutRequest'))->will($this->returnCallback(function ($request) use($testCase, $expectedCancelUrl) {
         $model = $request->getModel();
         $testCase->assertEquals($expectedCancelUrl, $model['CANCELURL']);
     }));
     $action = new CaptureAction();
     $action->setPayment($paymentMock);
     $request = new SecuredCaptureRequest($token);
     $request->setModel(array());
     $action->execute($request);
 }