public void CvvShouldHaveThreeOrFourDigits() { //https://en.wikipedia.org/wiki/Card_security_code var request = GlobalTestSetup.InitValidRequest(); request.Cvv = "1234"; var errors = new List <string>(); var isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(true, isValid); request = GlobalTestSetup.InitValidRequest(); request.Cvv = "12345"; errors = new List <string>(); isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-Cvv", errors); request = GlobalTestSetup.InitValidRequest(); request.Cvv = "12"; errors = new List <string>(); isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-Cvv", errors); request = GlobalTestSetup.InitValidRequest(); request.Cvv = "abc"; errors = new List <string>(); isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-Cvv", errors); }
public async Task ProcessPaymentControllerShouldReturnResult() { var request = GlobalTestSetup.InitValidRequest(); var histories = await Controller.GetHistory(request.MerchantName); var oldCount = histories.Count; var result = await Controller.Process(request); Assert.IsNotNull(result); Assert.AreEqual(false, result.HasGatewayError); Assert.IsNull(result.GatewayErrorMessage); Assert.AreEqual("PiggyBank", result.AcquiringBank); Assert.IsNotNull(result.AcquiringBankStatus); Assert.IsNotEmpty(result.AcquiringBankStatus); Assert.IsNotNull(result.AcquiringBankPaymentId); Assert.IsNotEmpty(result.AcquiringBankPaymentId); histories = await Controller.GetHistory(request.MerchantName); var newCount = histories.Count; Assert.AreEqual(oldCount + 1, newCount); var insertedPayment = await Controller.GetPaymentHistory(result.GatewayPaymentId); Assert.IsNotNull(insertedPayment); Assert.AreNotEqual(request.CardNumber, insertedPayment.CardNumber); Assert.AreEqual(19, insertedPayment.CardNumber.Length); }
public async Task PaymentShouldBeSentToPiggyBank() { var request = GlobalTestSetup.InitValidRequest(); var response = await PaymentService.ProcessPayment(request); Assert.AreEqual("PiggyBank", response.AcquiringBank); Assert.IsNotNull(response.AcquiringBankStatus); Assert.IsNotEmpty(response.AcquiringBankStatus); }
public void FullPaymentRequestShouldBeValid() { var request = GlobalTestSetup.InitValidRequest(); var errors = new List <string>(); var isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(true, isValid); Assert.AreEqual(0, errors.Count); }
public async Task MerchantShouldBeInList() { var request = GlobalTestSetup.InitValidRequest(); request.MerchantName = "DoNoExists"; var response = await PaymentService.ProcessPayment(request); Assert.AreEqual(true, response.HasGatewayError); Assert.AreEqual("Invalid-Merchant", response.GatewayErrorMessage); }
public void AmountShouldBeStrictlyPositive() { var request = GlobalTestSetup.InitValidRequest(); request.Amount = -2.0; var errors = new List <string>(); var isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-Amount", errors); }
public void CurrencyShouldBeInList() { var request = GlobalTestSetup.InitValidRequest(); request.Currency = "CHF"; var errors = new List <string>(); var isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-Currency", errors); }
public async Task OtherAcquirerShouldNotBeFound() { var request = GlobalTestSetup.InitValidRequest(); request.MerchantName = "Apple"; var response = await PaymentService.ProcessPayment(request); Assert.AreEqual("OtherAcquirer", response.AcquiringBank); Assert.AreEqual(true, response.HasGatewayError); Assert.AreEqual("Invalid-AcquiringBank", response.GatewayErrorMessage); }
public void CardNumberShouldHaveSixteenDigits() { var request = GlobalTestSetup.InitValidRequest(); request.CardNumber = "1234 567 8910 1"; var errors = new List <string>(); var isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-CardNumber", errors); request = GlobalTestSetup.InitValidRequest(); request.CardNumber = "abcd 5679 8910 1234"; errors = new List <string>(); isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Invalid-CardNumber", errors); }
public void ExpiredCardShouldNotBeValid() { var request = GlobalTestSetup.InitValidRequest(); request.ExpiryMonth = 01; request.ExpiryYear = 20; var errors = new List <string>(); var isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Expired-Card", errors); request = GlobalTestSetup.InitValidRequest(); request.ExpiryMonth = 12; request.ExpiryYear = 19; errors = new List <string>(); isValid = PaymentValidator.IsPaymentRequestValid(request, TestDate, errors); Assert.AreEqual(false, isValid); Assert.Contains("Expired-Card", errors); }