public function shouldCaptureWithObtainedCreditCard()
{
$api = $this->createAuthorizeNetAIMMock();
$api->expects($this->once())->method('authorizeAndCapture')->will($this->returnValue($this->createAuthorizeNetAIMResponseMock()));
$gatewayMock = $this->createGatewayMock();
$gatewayMock->expects($this->once())->method('execute')->with($this->isInstanceOf('Payum\\Core\\Request\\ObtainCreditCard'))->will($this->returnCallback(function (ObtainCreditCard $request) {
$card = new CreditCard();
$card->setNumber('1234567812345678');
$card->setExpireAt(new \DateTime('2014-10-01'));
$request->set($card);
}));
$action = new CaptureAction();
$action->setApi($api);
$action->setGateway($gatewayMock);
$action->execute(new Capture(array('amount' => 10)));
}