public void TestGetCards_Success() { InitializeMapper(); var credentials = new Dictionary <String, String> { { "username", "YURIYK81" }, { "password", "2w3e4r5t" } }; var api = new Providers.Cards.Cal.CalApi(credentials); var provider = new CalProvider(api); var cards = provider.GetCards(); Assert.NotEmpty(cards); foreach (var card in cards) { Assert.NotNull(card.Debits); Assert.NotEmpty(card.Id); Assert.NotEmpty(card.HolderId); Assert.NotEmpty(card.TypeDescription); Assert.NotEmpty(card.CardName); Assert.NotEmpty(card.LastDigits); Assert.NotEmpty(card.OwnerFirstName); Assert.NotEmpty(card.OwnerLastName); Assert.NotNull(card.CardAccount); Assert.NotEmpty(card.CardAccount.AccountNumber); Assert.NotEmpty(card.CardAccount.Id); Assert.NotEmpty(card.CardAccount.BankName); Assert.True(card.CardAccount.BankBranchNumber > 0); Assert.True(card.CardAccount.BankCode > 0); } }
public async Task <IAccountProvider> CreateDataProvider(ProviderDoc provider) { IAccountProvider accountProvider = null; switch (provider.Name) { case "Bank Hapoalim": //accountProvider = new HapoalimAccountProvider(provider, new HapoalimFileApi(provider)); accountProvider = new HapoalimAccountProvider(new HapoalimApi(provider.Credentials)); break; case "Bank Leumi": accountProvider = new LeumiAccountProvider(new LeumiApi(provider)); break; case "Bank Mizrahi-Tefahot": accountProvider = new TefahotAccountProvider(new TefahotApi(provider)); break; case "Amex": accountProvider = new AmexProvider(new AmexApi(provider.Credentials)); //accountProvider = new AmexProvider(provider, new AmexFileApi(provider)); break; case "Visa Cal": accountProvider = new CalProvider(new CalApi(provider.Credentials)); break; default: break; } return(accountProvider); }
public void TestGetCardsWithTransactions_Success() { InitializeMapper(); var credentials = new Dictionary <String, String> { { "username", "YURIYK81" }, { "password", "2w3e4r5t" } }; var api = new CalApi(credentials); var provider = new CalProvider(api); var descriptors = new List <CreditCardDescriptor> { new CreditCardDescriptor { CardId = "01981802" } }; var cards = provider.GetCardsWithTransactions(descriptors, DateTime.Now.AddMonths(-1), DateTime.Now); foreach (var card in cards) { Assert.NotEmpty(card.Id); Assert.NotEmpty(card.HolderId); Assert.NotEmpty(card.TypeDescription); Assert.NotEmpty(card.CardName); Assert.NotEmpty(card.LastDigits); Assert.NotEmpty(card.OwnerFirstName); Assert.NotEmpty(card.OwnerLastName); Assert.NotNull(card.CardAccount); Assert.NotEmpty(card.CardAccount.AccountNumber); Assert.NotEmpty(card.CardAccount.Id); Assert.NotEmpty(card.CardAccount.BankName); Assert.True(card.CardAccount.BankBranchNumber > 0); Assert.True(card.CardAccount.BankCode > 0); Assert.NotNull(card.Debits); Assert.NotEmpty(card.Debits); Assert.True(card.Debits.First().Date > DateTime.MinValue); Assert.NotEmpty(card.Debits.First().CardId); Assert.NotEmpty(card.Debits.First().CardLastDigits); Assert.True(card.Debits.First().Amount >= 0); foreach (var debit in card.Debits) { Assert.NotEmpty(debit.CardId); Assert.True(debit.Date > DateTime.MinValue); Assert.NotEmpty(debit.CardLastDigits); Decimal payment = 0; foreach (var transaction in debit.Transactions) { payment = payment + transaction.PaymentAmount; } Assert.True(debit.Amount == payment); } } }