public function shouldSetTokenTargetUrlAsReturnUrlIfCapturePassedWithToken()
{
$testCase = $this;
$expectedTargetUrl = 'theTargetUrl';
$token = new Token();
$token->setTargetUrl($expectedTargetUrl);
$token->setDetails(array());
$gatewayMock = $this->createGatewayMock();
$gatewayMock->expects($this->at(0))->method('execute')->with($this->isInstanceOf(GetHttpRequest::class));
$gatewayMock->expects($this->at(1))->method('execute')->with($this->isInstanceOf(SetExpressCheckout::class))->will($this->returnCallback(function ($request) use($testCase, $expectedTargetUrl) {
$model = $request->getModel();
$testCase->assertEquals($expectedTargetUrl, $model['RETURNURL']);
}));
$action = new AuthorizeAction();
$action->setGateway($gatewayMock);
$request = new Authorize($token);
$request->setModel(array());
$action->execute($request);
}