// Braintree enforces a 50-cards-per-user restriction, so we can't keep adding/removing cards for the test user. public void CreateCreditCards() { ICreateCreditCards createInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <ICreateCreditCards>(); IDestroyCreditCards destroyInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IDestroyCreditCards>(); IQueryCreditCards queryInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IQueryCreditCards>(); CreditCard created = createInterface.CreateCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpMerchantAccessToken, ClientModuleIntegrationTestingUtilities.SandboxIntegrationTestCreditCard); List <CreditCard> creditCards = new List <CreditCard>(queryInterface.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpMerchantAccessToken)); Assert.AreEqual(creditCards.FindAll(x => x.Id == created.Id).Count, 1); destroyInterface.DeleteCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpMerchantAccessToken, created.Id); creditCards = new List <CreditCard> (queryInterface.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpMerchantAccessToken)); Assert.AreEqual(creditCards.FindAll(x => x.Id == created.Id).Count, 0); // Note: The card won't actually be deleted in the cleanup for this test, just deactivated. AFAIK cards cannot be deleted via // the api, and they just languish in a deactivated state. As a result, the sandbox merchant account that is used for integration // tests may wind up with a bunch of old credit card entries. }
public void DeleteCreditCardShouldSucceed() { const int id = 305999; const int bin = 123456; const int expiration_month = 7; const int expiration_year = 2015; const bool promoted = true; const string description = "JCBendingin1234"; const string last_4 = "1234"; const string state = "inactive"; const string @type = "JCB"; string expectedRequestUrl = string.Format("https://sandbox.thelevelup.com/v14/credit_cards/{0}", id); RestResponse expectedResponse = new RestResponse { StatusCode = HttpStatusCode.OK, Content = string.Format("{{" + "\"credit_card\":{{" + "\"bin\":\"{0}\"," + "\"description\":\"{1}\"," + "\"expiration_month\":{2}," + "\"expiration_year\":{3}," + "\"id\":{4}," + "\"last_4\":\"{5}\"," + "\"promoted\":{6}," + "\"state\":\"{7}\"," + "\"type\":\"{8}\"" + "}}" + "}}", bin, description, expiration_month, expiration_year, id, last_4, promoted, state, @type) }; IDestroyCreditCards client = ClientModuleUnitTestingUtilities.GetMockedLevelUpModule <IDestroyCreditCards>( expectedResponse, expectedRequestUrl: expectedRequestUrl); client.DeleteCreditCard("not_checking_this", id); }
[Test] // Braintree enforces a 50-cards-per-user restriction, so we can't keep adding/removing cards for the test user. public void DestroyCard() { IQueryCreditCards queryClient = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IQueryCreditCards>(); IDestroyCreditCards destroyClient = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IDestroyCreditCards>(); ICreateCreditCards createClient = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <ICreateCreditCards>(); var toCreate = createClient.CreateCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken, ClientModuleIntegrationTestingUtilities.SandboxIntegrationTestCreditCard); var cards = queryClient.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken); Assert.AreEqual(cards.Count, 1); Assert.AreEqual(cards[0].Active, true); Assert.AreEqual(cards[0].Id, toCreate.Id); destroyClient.DeleteCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken, toCreate.Id); cards = queryClient.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken); Assert.AreEqual(cards.Count, 0); createClient.CreateCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken, ClientModuleIntegrationTestingUtilities.SandboxIntegrationTestCreditCard); }
[Test] // Braintree enforces a 50-cards-per-user restriction, so we can't keep adding/removing cards for the // test user. This test requires adding/removing cards. public void QueryCreditCards() { IQueryCreditCards queryInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IQueryCreditCards>(); ICreateCreditCards createInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <ICreateCreditCards>(); IDestroyCreditCards destroyInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IDestroyCreditCards>(); var existingCards = queryInterface.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken); foreach (var card in existingCards) { destroyInterface.DeleteCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken, card.Id); } Assert.AreEqual(queryInterface.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken).Count, 0); createInterface.CreateCreditCard(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken, ClientModuleIntegrationTestingUtilities.SandboxIntegrationTestCreditCard); var newCards = queryInterface.ListCreditCards(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken); Assert.AreEqual(newCards.Count, 1); Assert.AreEqual(newCards[0].State.ToLower(), "active"); Assert.AreEqual(newCards[0].Promoted, true); }