public void CloneTransaction_WithValidationErrors()
{
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2009",
}
};
Result<Transaction> result = gateway.Transaction.Credit(request);
Assert.IsTrue(result.IsSuccess());
Transaction transaction = result.Target;
TransactionCloneRequest cloneRequest = new TransactionCloneRequest
{
Amount = 123.45M,
};
Result<Transaction> cloneResult = gateway.Transaction.CloneTransaction(transaction.Id, cloneRequest);
Assert.IsFalse(cloneResult.IsSuccess());
Assert.AreEqual(ValidationErrorCode.TRANSACTION_CANNOT_CLONE_CREDIT, cloneResult.Errors.ForObject("Transaction").OnField("Base")[0].Code);
}