public void Update_UpdatesTheCreditCard()
{
var MASTERCARD = SandboxValues.CreditCardNumber.MASTER_CARD;
var customer = gateway.Customer.Create().Target;
var creditCard = gateway.CreditCard.Create(new CreditCardRequest
{
CardholderName = "Original Holder",
CustomerId = customer.Id,
CVV = "123",
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2012"
}).Target;
var updateResult = gateway.PaymentMethod.Update(
creditCard.Token,
new PaymentMethodRequest
{
CardholderName = "New Holder",
CVV = "456",
Number = MASTERCARD,
ExpirationDate = "06/2013"
});
Assert.IsTrue(updateResult.IsSuccess());
Assert.That(updateResult.Target, Is.InstanceOf(typeof(CreditCard)));
var updatedCreditCard = (CreditCard)updateResult.Target;
Assert.AreEqual("New Holder", updatedCreditCard.CardholderName);
Assert.AreEqual(MASTERCARD.Substring(0, 6), updatedCreditCard.Bin);
Assert.AreEqual(MASTERCARD.Substring(MASTERCARD.Length - 4), updatedCreditCard.LastFour);
Assert.AreEqual("06/2013", updatedCreditCard.ExpirationDate);
}