public void PostShouldValidateParametersAndThrowException(decimal amount, long cardNumber, int ccv, int merchantId) { var paymentRequest = new MerchantPaymentDetailsRequest() { MerchantId = merchantId, Payment = new PaymentDetails() { Amount = amount, CardNumber = cardNumber, CCV = ccv, Timestamp = DateTime.MaxValue } }; var payment = new MerchantPaymentDetails(paymentRequest); var paymentService = new Mock <IPaymentService>(); paymentService.Setup(ps => ps.ProcessPayment(It.IsAny <MerchantPaymentDetails>())) .Returns(Task.FromResult <MerchantTransactionPayment>(null)); var sut = new Controllers.PaymentController(paymentService.Object); Assert.Throws <AggregateException>(() => { var result = sut.Post(paymentRequest).Result; }); paymentService.Verify(ps => ps.ProcessPayment( It.IsAny <MerchantPaymentDetails>()), Times.Never); }
public FileResult TestPDF(string QuoteNo, string PolicyNo, string ProductCode, string PreferredLanguage, string ISAfc, HttpContextBase context = null) { //string proposalNo = "50132406"; //string quoteNo = "Q180006564-01"; //string planCode = "PPG"; ReportsController objReportController = new ReportsController(); byte[] a = objReportController.ReportForIllustrationPDF(QuoteNo, ProductCode, PreferredLanguage, PolicyNo); byte[] b = objReportController.ReportForPolicySchedule(PolicyNo, ProductCode, PreferredLanguage); byte[] c = null; if (ISAfc == "True") { c = objReportController.ReportForAFCCoveringLetter(PolicyNo, ProductCode, PreferredLanguage); } else { c = objReportController.ReportForCoveringLetter(PolicyNo, ProductCode, PreferredLanguage); } List <byte[]> vs = new List <byte[]>(); vs.Add(c); vs.Add(b); vs.Add(a); PaymentController objPayment = new Controllers.PaymentController(); return(File(concatAndAddContent(vs), "application/pdf", PolicyNo + ".pdf")); }
public void CanCalculateChange() { var payCont = new Controllers.PaymentController(new TillDrawer(Mocks.MockCashSets.StandardSet)); payCont.PaymentPossible += EventListener; payCont.DetermineChange(null, new CustomArgs.ProvideChangeEventArgs(10, 8)); Assert.IsTrue(EventTriggered); }
public void CanCreatePayout(decimal value) { var payCont = new Controllers.PaymentController(new TillDrawer(Mocks.MockCashSets.StandardSet)); CashSet standardSet = Mocks.MockCashSets.StandardSet; CashSet payout = (CashSet)payCont.Payout(value, standardSet); Assert.IsNotNull(payout); Assert.AreEqual(value, payout.GetSum()); }
public void GetAllShouldCallPaymentServiceGetAll() { var paymentService = new Mock <IPaymentService>(); paymentService.Setup(ps => ps.GetAllByMerchantId(It.IsAny <int>())) .Returns(Task.FromResult <IEnumerable <MerchantTransactionPayment> >(null)); var merchantId = 1; var sut = new Controllers.PaymentController(paymentService.Object); var payments = sut.GetAll(merchantId).Result; paymentService.Verify(ps => ps.GetAllByMerchantId( It.Is <int>(i => i == merchantId)), Times.Once); }
public void PostShouldCallPaymentServiceProcessPayment() { var paymentRequest = new MerchantPaymentDetailsRequest() { MerchantId = 123456, Payment = new PaymentDetails() { Amount = 1, CardNumber = 1234123412341234, CCV = 123, Timestamp = DateTime.MaxValue } }; var payment = new MerchantPaymentDetails(paymentRequest); var transaction = new MerchantTransactionPayment() { Payment = payment, Status = PaymentStatus.Success, TransactionId = 1 }; var paymentService = new Mock <IPaymentService>(); paymentService.Setup(ps => ps.ProcessPayment(It.IsAny <MerchantPaymentDetails>())) .Returns(Task.FromResult(transaction)); var sut = new Controllers.PaymentController(paymentService.Object); var result = sut.Post(paymentRequest).Result; Assert.NotNull(result); paymentService.Verify(ps => ps.ProcessPayment( It.Is <MerchantPaymentDetails>(pd => payment.CardNumber == pd.CardNumber && payment.CCV == pd.CCV && payment.Amount == pd.Amount && payment.MerchantId == pd.MerchantId && payment.Timestamp == pd.Timestamp )), Times.Once); }