/**
* @test
*/
public function shouldRequestGetTransactionDetailsAndUpdateModelIfTransactionIdSetInModel()
{
$gatewayMock = $this->createGatewayMock();
$gatewayMock->expects($this->once())->method('execute')->with($this->isInstanceOf('Payum\\Paypal\\ProHosted\\Nvp\\Request\\Api\\GetTransactionDetails'))->will($this->returnCallback(function (GetTransactionDetails $request) {
$model = $request->getModel();
$model['foo'] = 'fooVal';
$model['AMT'] = 33;
}));
$action = new SyncAction();
$action->setGateway($gatewayMock);
$details = new \ArrayObject(array('AMT' => 11, 'txn_id' => 'aTxn_id'));
$action->execute($sync = new Sync($details));
$this->assertArrayHasKey('foo', (array) $details);
$this->assertEquals('fooVal', $details['foo']);
$this->assertArrayHasKey('AMT', (array) $details);
$this->assertEquals(33, $details['AMT']);
}