public void Update_CreatesNewBillingAddressByDefault()
{
Customer customer = gateway.Customer.Create(new CustomerRequest()).Target;
var request = new CreditCardRequest
{
CustomerId = customer.Id,
Number = "5105105105105100",
ExpirationDate = "05/12",
BillingAddress = new CreditCardAddressRequest
{
FirstName = "John"
}
};
CreditCard creditCard = gateway.CreditCard.Create(request).Target;
var updateRequest = new CreditCardRequest
{
BillingAddress = new CreditCardAddressRequest
{
LastName = "Jones",
CountryName = "El Salvador",
CountryCodeAlpha2 = "SV",
CountryCodeAlpha3 = "SLV",
CountryCodeNumeric = "222"
}
};
CreditCard updatedCreditCard = gateway.CreditCard.Update(creditCard.Token, updateRequest).Target;
Assert.IsNull(updatedCreditCard.BillingAddress.FirstName);
Assert.AreEqual("Jones", updatedCreditCard.BillingAddress.LastName);
Assert.AreNotEqual(creditCard.BillingAddress.Id, updatedCreditCard.BillingAddress.Id);
Address billingAddress = updatedCreditCard.BillingAddress;
Assert.AreEqual("El Salvador", billingAddress.CountryName);
Assert.AreEqual("SV", billingAddress.CountryCodeAlpha2);
Assert.AreEqual("SLV", billingAddress.CountryCodeAlpha3);
Assert.AreEqual("222", billingAddress.CountryCodeNumeric);
}