public void Find_FindsCustomerWithGivenId()
{
string id = Guid.NewGuid().ToString();
var createRequest = new CustomerRequest
{
Id = id,
FirstName = "Michael",
LastName = "Angelo",
Company = "Some Company",
Email = "[email protected]",
Phone = "312.555.1111",
Fax = "312.555.1112",
Website = "www.example.com",
CreditCard = new CreditCardRequest
{
Number = "5105105105105100",
ExpirationDate = "05/12",
CVV = "123",
CardholderName = "Michael Angelo",
BillingAddress = new CreditCardAddressRequest()
{
FirstName = "Mike",
LastName = "Smith",
Company = "Smith Co.",
StreetAddress = "1 W Main St",
ExtendedAddress = "Suite 330",
Locality = "Chicago",
Region = "IL",
PostalCode = "60622",
CountryName = "United States of America"
}
}
};
Customer createdCustomer = gateway.Customer.Create(createRequest).Target;
Customer customer = gateway.Customer.Find(createdCustomer.Id);
Assert.AreEqual(id, customer.Id);
Assert.AreEqual("Michael", customer.FirstName);
Assert.AreEqual("Angelo", customer.LastName);
Assert.AreEqual("Some Company", customer.Company);
Assert.AreEqual("[email protected]", customer.Email);
Assert.AreEqual("312.555.1111", customer.Phone);
Assert.AreEqual("312.555.1112", customer.Fax);
Assert.AreEqual("www.example.com", customer.Website);
Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year);
Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year);
Assert.AreEqual(1, customer.CreditCards.Length);
Assert.AreEqual("510510", customer.CreditCards[0].Bin);
Assert.AreEqual("5100", customer.CreditCards[0].LastFour);
Assert.AreEqual("05", customer.CreditCards[0].ExpirationMonth);
Assert.AreEqual("2012", customer.CreditCards[0].ExpirationYear);
Assert.AreEqual("Michael Angelo", customer.CreditCards[0].CardholderName);
Assert.IsTrue(Regex.IsMatch(customer.CreditCards[0].UniqueNumberIdentifier, "\\A\\w{32}\\z"));
Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].CreatedAt.Value.Year);
Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].UpdatedAt.Value.Year);
Assert.AreEqual("Mike", customer.Addresses[0].FirstName);
Assert.AreEqual("Smith", customer.Addresses[0].LastName);
Assert.AreEqual("Smith Co.", customer.Addresses[0].Company);
Assert.AreEqual("1 W Main St", customer.Addresses[0].StreetAddress);
Assert.AreEqual("Suite 330", customer.Addresses[0].ExtendedAddress);
Assert.AreEqual("Chicago", customer.Addresses[0].Locality);
Assert.AreEqual("IL", customer.Addresses[0].Region);
Assert.AreEqual("60622", customer.Addresses[0].PostalCode);
Assert.AreEqual("United States of America", customer.Addresses[0].CountryName);
}