public static void SetReservedProviderInfoForTests(TestContext testContext) { ADMIN_USER = new User("Brulu", ADMIN_USER_USEREMAIL, "HOLA1234", AdminRole.GetInstance()); List <IField> emptyFields = new List <IField>(); TextField field = new TextField("NumeroCliente"); emptyFields.Add(field); DESIGNED_PROVIDER = new Provider("Apple", 3, emptyFields); ProvidersController providerController = new ProvidersController(ADMIN_USER.Email); providerController.PostProvider(DESIGNED_PROVIDER); IHttpActionResult actionResultProvider = providerController.GetProviders(); OkNegotiatedContentResult <IEnumerable <Provider> > contentResult = (OkNegotiatedContentResult <IEnumerable <Provider> >)actionResultProvider; IEnumerable <Provider> providers = contentResult.Content; foreach (Provider provider in providers) { if (provider.Name.Equals(DESIGNED_PROVIDER.Name)) { DESIGNED_PROVIDER.ID = provider.ID; } } providerController.Dispose(); FIRST_PAYMENT = CreateFirstPayment(); SECOND_PAYMENT = CreateNewRandomPayment(); CONTROLLER = new PaymentsController(ADMIN_USER_USEREMAIL); CONTROLLER.PostPayment(FIRST_PAYMENT); CONTROLLER.PostPayment(SECOND_PAYMENT); CONTROLLER.Dispose(); }
public async Task TestPostPaymentValid() { // Arrange var mockPaymentRepo = new Mock <IPaymentRepository>(); var mockCustomerRepo = new Mock <ICustomerRepository>(); var paymentDTO = CreatePaymentData(); mockPaymentRepo.Setup(repo => repo.GetPaymentFromCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO); mockCustomerRepo.Setup(repo => repo.GetCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO.Customer); // Act var controller = new PaymentsController(mockPaymentRepo.Object, mockCustomerRepo.Object); SimulateModelValidation.Validate(mockPaymentRepo, controller); var result = await controller.PostPayment(paymentDTO); // Assert var okResult = Assert.IsType <CreatedAtActionResult>(result); var res = Assert.IsType <Payment>(okResult.Value); var idea = res as Payment; Assert.Equal(1, idea.PaymentId); Assert.NotNull(idea.Customer); Assert.NotNull(idea.Domain); Assert.Equal(GetLastDayOfMonth(), idea.DueDate); Assert.Equal(PaymentStatus.CREATED, idea.Status); }
private void Payments_Load(object sender, EventArgs e) { if (CryptoController.GetUserCrypto(user.RsaID) == null) { userCrypto = new Crypto("", "", 0, "", user.RsaID); } else { userCrypto = CryptoController.GetUserCrypto(user.RsaID); } history = HistoryController.getHistory(user.RsaID); scheduals = PaymentsController.GetPayments(user.RsaID); foreach (Payment item in history) { ALLPAY.Add(item); } foreach (Payment item in scheduals) { ALLPAY.Add(item); } BeneficairyList = BeneficiaryController.GetBeneficiarys(user.RsaID); UserPaymentAccountList = PaymentsAccountController.SearchUserPaymentAcount(user.RsaID); UserCardList = CardController.RetrveCards(user.RsaID); FillBeneficiaryDatagrid(BeneficairyList); popUcb(); }
private void btnExacuteAllPayment_Click(object sender, EventArgs e) { bool issusck = false; List <Payment> newpaylist = PaymentList; foreach (Payment item in newpaylist) { if (PaymentsController.AddPyaments(item)) { foreach (Payment item1 in PaymentList) { if (item.PaymentNumber == item1.PaymentNumber) { item1.Status = "Pending"; } else { item1.Status = "Failed"; } } } } if (issusck == false) { MetroMessageBox.Show(this, "Unable to retrieve data from server, Server is offline!", "Connection Issues"); } else { MetroMessageBox.Show(this, "Payment Scheduled Successfully!", "Success"); } FillPaymentDatagrid(PaymentList); }
/// <summary> /// Successful response returned from a Credit Card Present Include Tip AuthorizationOnly request. /// https://apidocs.securenet.com/docs/creditcardpresent.html?lang=JSON#includetip /// </summary> public int Credit_Card_Present_IncludeTip_AuthorizationOnly_Request_Returns_Successfully() { // Arrange var request = new AuthorizeRequest { Amount = 17.00m, Card = new Card { TrackData = "%B4444333322221111^SECURENET^16041015432112345678?;4444333322221111=16041015432112345678?" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <AuthorizeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); Assert.IsNotNull(response.Transaction); Assert.IsTrue(response.Transaction.TransactionId > 0); return(response.Transaction.TransactionId); }
/// <summary> /// Successful response returned from a Credit Card Present Authorization Only request. /// https://apidocs.securenet.com/docs/creditcardpresent.html?lang=JSON#authonly /// </summary> public int Credit_Card_Present_AuthorizationOnly_Request_Returns_Successfully() { // Arrange var request = new AuthorizeRequest { Amount = 11.00m, Card = new Card { TrackData = "%B4444333322221111^SECURENET^16041015432112345678?;4444333322221111=16041015432112345678?", }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<AuthorizeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); Assert.IsNotNull(response.Transaction); Assert.IsTrue(response.Transaction.TransactionId > 0); return response.Transaction.TransactionId; }
private void Schedules_Load(object sender, EventArgs e) { BeneficairyList = BeneficiaryController.GetBeneficiarys(user.RsaID); PaymentListF = PaymentsController.GetPayments(user.RsaID); foreach (Payment item in PaymentListF) { //DateTime payDate = DateTime.ParseExact(item.PayDate, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); //if (payDate > DateTime.Now || item.Recurring == true) //{ PaymentList.Add(item); //} } if (CryptoController.GetUserCrypto(user.RsaID) != null) { userCrypto = CryptoController.GetUserCrypto(user.RsaID); } else { userCrypto = new Crypto("", "", 0, "", user.RsaID); } UserPaymentAccountList = PaymentsAccountController.SearchUserPaymentAcount(user.RsaID); UserCardList = CardController.RetrveCards(user.RsaID); FillPaymentsDatagrid(PaymentList); BeneficairyList = BeneficiaryController.GetBeneficiarys(user.RsaID); FillBeneficiaryDatagrid(BeneficairyList); popUcb(); }
public void TestPaymentDetailsSaved() { // We do not need to do this step if the payment was saved in database with a identity or primary key. if (File.Exists(filePath)) { File.Delete(filePath); } PaymentModel model = new PaymentModel { AccountName = "Test", AccountNumber = 12345678, Amount = 200.00M, BSB = 123456, Currency = "AUD", Reference = "None" }; PaymentsController pc = new PaymentsController(); pc.Request = new HttpRequestMessage(); pc.Configuration = new System.Web.Http.HttpConfiguration(); HttpResponseMessage response = pc.Post(model); Assert.IsTrue(response.IsSuccessStatusCode); var savedPayment = ReadContentFromFile(); Assert.AreEqual(model.AccountNumber, savedPayment.AccountNumber); }
public void Setup() { _dbSetUpHelper = new DatabaseSetUpHelper(); _context = _dbSetUpHelper.GetContext(); _paymentsRepository = new PaymentsRepository(_context); _userPaymentsRepository = new UserPaymentsRepository(_context); _flatRepository = new FlatRepository(_context); _userRepository = new UserRepository(_context); _mapperHelper = new MapperHelper(); var mapper = _mapperHelper.GetMapper(); DefaultHttpContext httpContext = new DefaultHttpContext(); GenericIdentity MyIdentity = new GenericIdentity("User"); ClaimsIdentity objClaim = new ClaimsIdentity(new List <Claim> { new Claim(ClaimTypes.NameIdentifier, "1") }); _paymentsController = new PaymentsController(_paymentsRepository, _userPaymentsRepository, _flatRepository, _userRepository, mapper) { ControllerContext = new ControllerContext() }; _paymentsController.ControllerContext.HttpContext = httpContext; httpContext.User = new ClaimsPrincipal(objClaim); }
public void UpdatePayment() { var context = serviceProvider.GetRequiredService <DataContext>(); var controller = new PaymentsController(context); context.Payment.Add(payment1); context.SaveChanges(); //The entity is not being tracked by the context context.Entry(payment1).State = EntityState.Detached; Payment payment3 = new Payment { Id = 1, Amount = 9000, Currency = "$", Source = "Balanica Gabriel", Date = new DateTime(2020, 12, 30), Destination = "Spantu Theodor Ioan", Status = "complete", latitude = 93.231f, longitude = 44.2f }; var updateResult = controller.PutPayment(1, payment3).Result; Assert.IsType <OkResult>(updateResult); }
/// <summary> /// Successful response returned from an Charge using Tokenization request. /// https://apidocs.securenet.com/docs/creditcardnotpresent.html?lang=csharp#tokenization /// </summary> public void Credit_Card_Not_Present_Charge_Using_Tokenization_Request_Returns_Successfully(string token) { // Arrange var request = new ChargeRequest { Amount = 10.00m, PaymentVaultToken = new PaymentVaultToken { PaymentMethodId = token, PublicKey = "278DCC4B-85FE-485D-AFDD-9927AC4CA229" }, AddToVault = true, ExtendedInformation = new ExtendedInformation { TypeOfGoods = "PHYSICAL" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void ACH_Paying_By_Check_With_Verification_Charge_Request_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 10.00m, Check = new Check { FirstName = "Jack", LastName = "Test", RoutingNumber = "222371863", AccountNumber = "123456", Verification = "ACH_PROVIDER" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void Credits_Credit_An_Account_Request_Returns_Successfully() { // Arrange var request = new CreditRequest { Amount = 1.05m, Card = new Card { Number = "4111 1111 1111 1111", ExpirationDate = "01/2017" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <CreditResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void Credit_Card_Present_Charge_Request_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 11.00m, Card = new Card { TrackData = "%B4444333322221111^SECURENET^16041015432112345678?;4444333322221111=16041015432112345678?" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
/// <summary> /// Successful response returned from a Credit Card Present IncludTip PriorAuthCapture request. /// https://apidocs.securenet.com/docs/creditcardpresent.html?lang=JSON#includetip /// </summary> public void Credit_Card_Present_IncludeTip_PriorAuthCapture_Request_Returns_Successfully(int transactionId) { // Arrange var request = new PriorAuthCaptureRequest { Amount = 13.25m, TransactionId = transactionId, ExtendedInformation = new ExtendedInformation { ServiceData = new ServiceData { GratuityAmount = 1.75m, }, }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" }, }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <PriorAuthCaptureResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public virtual void Initialize() { this.requesterContext = new Mock <IRequesterContext>(MockBehavior.Strict); this.getCreditRequestSummary = new Mock <IQueryHandler <GetCreditRequestSummaryQuery, CreditRequestSummary> >(MockBehavior.Strict); this.updatePaymentsOrigin = new Mock <ICommandHandler <UpdatePaymentOriginCommand> >(MockBehavior.Strict); this.applyCreditRequest = new Mock <ICommandHandler <ApplyCreditRequestCommand> >(MockBehavior.Strict); this.deletePaymentInformation = new Mock <ICommandHandler <DeletePaymentInformationCommand> >(MockBehavior.Strict); this.createCreditRefund = new Mock <ICommandHandler <CreateCreditRefundCommand> >(MockBehavior.Strict); this.createTransactionRefund = new Mock <ICommandHandler <CreateTransactionRefundCommand> >(MockBehavior.Strict); this.getTransactions = new Mock <IQueryHandler <GetTransactionsQuery, GetTransactionsResult> >(MockBehavior.Strict); this.blockPaymentProcessing = new Mock <ICommandHandler <BlockPaymentProcessingCommand> >(MockBehavior.Strict); this.timestampCreator = new Mock <ITimestampCreator>(MockBehavior.Strict); this.guidCreator = new Mock <IGuidCreator>(MockBehavior.Strict); this.requesterContext.Setup(_ => _.GetRequesterAsync()).ReturnsAsync(Requester); this.target = new PaymentsController( this.requesterContext.Object, this.getCreditRequestSummary.Object, this.updatePaymentsOrigin.Object, this.applyCreditRequest.Object, this.deletePaymentInformation.Object, this.createCreditRefund.Object, this.createTransactionRefund.Object, this.getTransactions.Object, this.blockPaymentProcessing.Object, this.timestampCreator.Object, this.guidCreator.Object); }
public void BeAbleToReturnASinglePaymentInRepository() { List <IField> emptyFields = new List <IField>(); NumberField field = new NumberField("Monto"); emptyFields.Add(field); IField filledField = field.FillAndClone("100"); List <IField> fullFields = new List <IField>(); fullFields.Add(filledField); Provider provider = new Provider("Antel", 3, emptyFields); Receipt receipt = new Receipt(provider, fullFields, 100); List <Receipt> list = new List <Receipt>(); list.Add(receipt); Payment payment = new Payment(new CashPayMethod(DateTime.Now), 100, list); var mockPaymentService = new Mock <IPaymentService>(); mockPaymentService.Setup(x => x.GetSinglePayment(payment.ID)).Returns(payment); PaymentsController controller = new PaymentsController(mockPaymentService.Object); IHttpActionResult actionResult = controller.GetPayment(payment.ID); OkNegotiatedContentResult <Payment> contentResult = (OkNegotiatedContentResult <Payment>)actionResult; Assert.AreSame(contentResult.Content, payment); }
public void FailIfPostedNewPaymentIsAlreadyInRepository() { List <IField> emptyFields = new List <IField>(); NumberField field = new NumberField("Monto"); emptyFields.Add(field); IField filledField = field.FillAndClone("100"); List <IField> fullFields = new List <IField>(); fullFields.Add(filledField); Provider provider = new Provider("Antel", 3, emptyFields); Receipt receipt = new Receipt(provider, fullFields, 100); List <Receipt> list = new List <Receipt>(); list.Add(receipt); Payment payment = new Payment(new CashPayMethod(DateTime.Now), 100, list); var mockPaymentService = new Mock <IPaymentService>(); mockPaymentService.Setup(x => x.CreatePayment(payment)).Throws(new ArgumentException()); PaymentsController controller = new PaymentsController(mockPaymentService.Object); IHttpActionResult actionResult = controller.PostPayment(payment); Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); }
public void Credit_Card_Present_Charge_Request_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 11.00m, Card = new Card { TrackData = "%B4444333322221111^SECURENET^17041015432112345678?;4444333322221111=17041015432112345678?" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" }, ExtendedInformation = new ExtendedInformation { SoftDescriptor = Helper.RequestSoftDescriptor, DynamicMCC = Helper.RequestDynamicMCC }, }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.AreEqual(response.Transaction.SoftDescriptor, Helper.ResponseSoftDescriptor); Assert.AreEqual(response.Transaction.DynamicMCC, Helper.ResponseDynamicMCC); Assert.IsTrue(response.Success); }
public async Task Get_PaymentReturns_ReturnsOkResult() { var mockPaymentRepo = new Mock <IPaymentRepository>(); var mockLogger = new Mock <ILogger <PaymentsController> >(); var mockMapper = new Mock <IMapper>(); var mockBankRequestService = new Mock <IBankRequestService>(); var mockEncryptionService = new Mock <IEncryptionService>(); var mapperResponse = new GetPaymentResponse { Name = "Fred Bloggs", CardNumber = "4111111111111111", Id = Guid.NewGuid(), PaymentStatus = "Completed" }; mockPaymentRepo.Setup(x => x.GetPaymentAsync(It.IsAny <Guid>())).ReturnsAsync(() => new Payment()); mockMapper.Setup(x => x.Map <GetPaymentResponse>(It.IsAny <Payment>())).Returns(mapperResponse); mockEncryptionService.Setup(x => x.Decrypt(It.IsAny <byte[]>())).Returns("4111111111111111"); var paymentsController = new PaymentsController(mockPaymentRepo.Object, mockBankRequestService.Object, mockEncryptionService.Object, mockMapper.Object, mockLogger.Object); var response = await paymentsController.Get(Guid.NewGuid()); var okResponse = Assert.IsType <OkObjectResult>(response); var getPaymentResponse = Assert.IsType <GetPaymentResponse>(okResponse.Value); Assert.Equal(mapperResponse.CardNumber.MaskCard(), getPaymentResponse.CardNumber); Assert.Equal(mapperResponse.Name, getPaymentResponse.Name); Assert.Equal(mapperResponse.Id, getPaymentResponse.Id); Assert.Equal(mapperResponse.PaymentStatus, getPaymentResponse.PaymentStatus); }
public void FailIfSinglePaymentIdDoesntExistInRepository() { List <IField> emptyFields = new List <IField>(); NumberField field = new NumberField("Monto"); emptyFields.Add(field); IField filledField = field.FillAndClone("100"); List <IField> fullFields = new List <IField>(); fullFields.Add(filledField); Provider provider = new Provider("Antel", 3, emptyFields); Receipt receipt = new Receipt(provider, fullFields, 100); List <Receipt> list = new List <Receipt>(); list.Add(receipt); Payment payment = new Payment(new CashPayMethod(DateTime.Now), 100, list); var mockPaymentService = new Mock <IPaymentService>(); mockPaymentService.Setup(x => x.GetSinglePayment(payment.ID + 1)).Throws(new ArgumentOutOfRangeException()); PaymentsController controller = new PaymentsController(mockPaymentService.Object); IHttpActionResult actionResult = controller.GetPayment(payment.ID + 1); Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult)); }
public void Credits_Credit_An_Account_Request_Returns_Successfully() { // Arrange var request = new CreditRequest { Amount = 10, Card = new Card { Number = "4444 3333 2222 1111", ExpirationDate = "01/2017" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" }, ExtendedInformation = new ExtendedInformation { SoftDescriptor = Helper.RequestSoftDescriptor, DynamicMCC = Helper.RequestDynamicMCC } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <CreditResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.AreEqual(response.Transaction.SoftDescriptor, Helper.ResponseSoftDescriptor); Assert.AreEqual(response.Transaction.DynamicMCC, Helper.ResponseDynamicMCC); Assert.IsTrue(response.Success); }
public void Show_Log_After_Payment() { //Arrange var context = serviceProvider.GetService <ApplicationDbContext>(); var controller = serviceProvider.GetService <PaymentsController>(); var loggerMock = new Mock <ILogger <ManageController> >(); var emailMock = new Mock <IEmailSender>(); controller = new PaymentsController(context, null, null, emailMock.Object, loggerMock.Object, null, null); PaymentViewModel user = new PaymentViewModel() { Email = "*****@*****.**", }; //Act controller.Receipt(3, 100, user); //Assert loggerMock.Verify( m => m.Log( LogLevel.Critical, It.IsAny <EventId>(), It.Is <FormattedLogValues>(v => v.ToString().Contains("To: [email protected], Subject: Confirmation of payment, Message: Thank you for your order!")), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >() ) ); }
public void Setup() { _dbSetUpHelper = new DatabaseSetUpHelper(); _context = _dbSetUpHelper.GetContext(); _httpContextHelper = new HttpContextHelper(); _paymentsRepository = new PaymentsRepository(_context); _userPaymentsRepository = new UserPaymentsRepository(_context); _flatRepository = new FlatRepository(_context); _userRepository = new UserRepository(_context); _mapperHelper = new MapperHelper(); var mapper = _mapperHelper.GetMapper(); var httpContext = _httpContextHelper.GetHttpContext(); var objClaim = _httpContextHelper.GetClaimsIdentity(); _paymentsController = new PaymentsController(_paymentsRepository, _userPaymentsRepository, _flatRepository, _userRepository, mapper) { ControllerContext = new ControllerContext { HttpContext = httpContext } }; httpContext.User = new ClaimsPrincipal(objClaim); }
public PaymentProcessorTest() { _controller = new PaymentsController(_paymentProcessor); var services = new ServiceCollection(); services.AddTransient <IRestIntegration, RestIntegration>(); services.AddTransient <IPaymentRepository, PaymentRepository>(); services.AddTransient <IPaymentStateRepository, PaymentStateRepository>(); services.AddTransient <IUnitOfWork, UnitOfWork>(); services.AddAutoMapper(typeof(Startup)); var mappingConfig = new MapperConfiguration(mc => { mc.AddProfile(new PaymentProfile()); }); IMapper mapper = mappingConfig.CreateMapper(); services.AddSingleton(mapper); services.AddTransient <IPaymentProfile, PaymentProfile>(); services.AddTransient <IBaseRepo, BaseRepo>(); services.AddTransient <ICheapPaymentGateway, CheapPaymentGateway>(); services.AddTransient <IExpensivePaymentGateway, ExpensivePaymentGateway>(); services.AddTransient <IPremiumPaymentService, PremiumPaymentService>(); services.AddTransient <IPaymentProcessorLogic, PaymentProcessorLogic>(); services.AddTransient <IPaymentProcessorLogic, PaymentProcessorLogic>(); var serviceProvider = services.BuildServiceProvider(); }
public async Task Webhook_Returns200_WhenWebhookSecretIsCorrect() { var stripeOptions = new StripeOptionsMock(); var jwtToken = new JwtToken() { UserId = "google|patryk1", AccessToken = "accessToken", }; UserManagementServiceMock userManagementServiceMock = new UserManagementServiceMock(); StripePaymentServiceMock stripePaymentServiceMock = new StripePaymentServiceMock(); StripeEventHandlerService stripeEventHandlerService = new StripeEventHandlerService(userManagementServiceMock, stripeOptions, stripePaymentServiceMock); var controller = new PaymentsController(jwtToken, stripeEventHandlerService, userManagementServiceMock, null); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { Request = { Headers = { new KeyValuePair <string, StringValues>("Stripe-Signature", "whsec_g6pND8HOaUZaNpk0uUiUlTKzZP8LomW9") } } } }; var result = await controller.Webhook(); Assert.IsType <BadRequestResult>(result); }
public void SetupTests() { this._paymentProcessingService = new Mock <IPaymentsProcessingService>(); this._paymentRetrievalService = new Mock <IPaymentsRetrievalService>(); this._logger = new Mock <ILogger <PaymentsController> >(); this._controller = new PaymentsController(this._paymentProcessingService.Object, this._paymentRetrievalService.Object, this._logger.Object); }
public async Task RegisterNewPayment_CheckFunctionality() { var altering = new Altering { CustomerId = 1 }; dbContext.Alterings.Add(altering); dbContext.SaveChanges(); var mock = new Mock <IBus>(); mock.Setup(x => x.Publish(new OrderPaid { AlterationId = altering.Id }, default)).Returns(() => { return(Task.CompletedTask); }); controller = new PaymentsController(new AzureBasedMicroserviceContext(), mock.Object); var data = new NewPaymentViewModel { AlteringId = altering.Id, Amount = 1000 }; var result = await controller.RegisterNewPayment(data); Assert.IsTrue((result as OkResult) != null, "It should return OkResult with valid AlterationId"); removeAlterationFromDb(altering.Id); removePaymentFromDb(altering.Id); }
public void Create_ValidPaymentDetails_PaymentDetailsAppended() { //Arrange var confMock = new Mock <IConfiguration>(); confMock.Setup(x => x["PaymentInfoPath"]).Returns(@"E:\Logs.txt"); using (var writer = new StreamWriter(@"E:\Logs.txt")) { writer.Flush(); } var loggerMock = Mock.Of <ILogger <PaymentsController> >(); PaymentsController sut = new PaymentsController(loggerMock, confMock.Object); //Act PaymentInfo model1 = new PaymentInfo() { AccountName = "ABC XYZ", AccountNumber = "123456789", BSBNumber = "987654", Reference = 367, Amount = 3400 }; sut.Create(model1); PaymentInfo model2 = new PaymentInfo() { AccountName = "New Person", AccountNumber = "3432432423", BSBNumber = "456-656", Reference = 2322222, Amount = 670 }; sut.Create(model2); //Assert Assert.Contains("has been completed successfully.", sut.ViewBag.Message); using (var reader = new StreamReader(@"E:\Logs.txt")) { var fileData = reader.ReadToEnd(); Assert.Contains($"The below transaction was done successfully at {DateTime.Now.Date.ToString("M/d/yyyy")}", fileData); //file contains first set of payment data Assert.Contains("Account Name : ABC XYZ", fileData); Assert.Contains("Account Number : 123456789", fileData); Assert.Contains("BSB Number : 987654", fileData); Assert.Contains("Amount : 3400$", fileData); Assert.Contains("Reference : 367", fileData); //same file contains second set of payment data Assert.Contains("Account Name : New Person", fileData); Assert.Contains("Account Number : 3432432423", fileData); Assert.Contains("BSB Number : 456-656", fileData); Assert.Contains("Amount : 670", fileData); Assert.Contains("Reference : 2322222", fileData); } }
public PaymentsControllerTests() { _service = new Mock <IPaymentService>(); _mapper = new Mock <IMapper>(); _processValidator = new Mock <IValidator <ProcessPaymentResource> >(); _controller = new PaymentsController(_mapper.Object, _processValidator.Object, _service.Object); _context = new Mock <ClaimsPrincipal>(); }
protected PaymentsControllerFixture() { SUT = new PaymentsController( PaymentManagerMock.Object, CreatePaymentValidatorMock.Object, TelemetrySubmitterMock.Object, LoggerMock.Object); }
public void ACH_Add_Billing_Address_Charge_Request_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 10.00m, Check = new Check { FirstName = "Jack", LastName = "Test", RoutingNumber = "222371863", AccountNumber = "123456", Address = new Address { Line1 = "123 Main St.", City = "Austin", State = "TX", Zip = "78759" }, }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
/// <summary> /// Successful response returned from a Credit Card Present PriorAuthCapture request. /// https://apidocs.securenet.com/docs/creditcardpresent.html?lang=JSON#priorauth /// </summary> public void Credit_Card_Present_PriorAuthCapture_Request_Returns_Successfully(int transactionId) { // Arrange var request = new PriorAuthCaptureRequest { Amount = 11.00m, TransactionId = transactionId, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" }, }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<PriorAuthCaptureResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void Credits_Credit_An_Account_Request_Returns_Successfully() { // Arrange var request = new CreditRequest { Amount = 1.05m, Card = new Card { Number = "4111 1111 1111 1111", ExpirationDate = "01/2017" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<CreditResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
/// <summary> /// Successful response returned from an Charge using Tokenization request. /// https://apidocs.securenet.com/docs/creditcardnotpresent.html?lang=csharp#tokenization /// </summary> public void Credit_Card_Not_Present_Charge_Using_Tokenization_Request_Returns_Successfully(string token) { // Arrange var request = new ChargeRequest { Amount = 10.00m, PaymentVaultToken = new PaymentVaultToken { PaymentMethodId = token, PublicKey = "278DCC4B-85FE-485D-AFDD-9927AC4CA229" }, AddToVault = true, ExtendedInformation = new ExtendedInformation { TypeOfGoods = "PHYSICAL" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
/// <summary> /// Successful response returned from a Credit Card Not Present Authorization Only request. /// https://apidocs.securenet.com/docs/creditcardnotpresent.html?lang=JSON#authonly /// </summary> public int Credit_Card_Not_Present_AuthorizationOnly_Request_Returns_Successfully() { // Arrange var request = new AuthorizeRequest { Amount = 11.00m, Card = new Card { Number = "4444 3333 2222 1111", Cvv = "999", ExpirationDate = "04/2016", Address = new Address { Line1 = "123 Main St.", City = "Austin", State = "TX", Zip = "78759" }, FirstName = "Jack", LastName = "Test" }, ExtendedInformation = new ExtendedInformation { TypeOfGoods = "PHYSICAL" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<AuthorizeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); Assert.IsNotNull(response.Transaction); Assert.IsTrue(response.Transaction.TransactionId > 0); return response.Transaction.TransactionId; }
public void Credit_Card_Present_Charge_Request_Including_Address_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 11.00m, Card = new Card { Number = "4444 3333 2222 1111", Cvv = "999", ExpirationDate = "04/2016", Address = new Address { Line1 = "123 Main St.", City = "Austin", State = "TX", Zip = "78759" } }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
/// <summary> /// Successful response returned from a Credit Card Present IncludTip PriorAuthCapture request. /// https://apidocs.securenet.com/docs/creditcardpresent.html?lang=JSON#includetip /// </summary> public void Credit_Card_Present_IncludeTip_PriorAuthCapture_Request_Returns_Successfully(int transactionId) { // Arrange var request = new PriorAuthCaptureRequest { Amount = 13.25m, TransactionId = transactionId, ExtendedInformation = new ExtendedInformation { ServiceData = new ServiceData { GratuityAmount = 1.75m, }, }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" }, }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<PriorAuthCaptureResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void ACH_Charge_Account_Using_POS_Request_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 11.00m, Check = new Check { FirstName = "Jack", LastName = "Test", RoutingNumber = "222371863", AccountNumber = "147852", CheckNumber = "107", AccountType = "SAVINGS", CheckType = "POINT_OF_SALE", Verification = "NONE", }, ExtendedInformation = new ExtendedInformation { AdditionalTerminalInfo = new AdditionalTerminalInfo { TerminalId = "1234", TerminalCity = "Austin", TerminalState = "TX", TerminalLocation = "Office", StoreNumber = "452" } }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
/// <summary> /// Successful response returned from a Void Transaction request. /// https://apidocs.securenet.com/docs/voids.html?lang=csharp /// </summary> public void Voids_Void_Transaction_Request_Returns_Successfully(int transactionId) { // Arrange var request = new VoidRequest { TransactionId = transactionId, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<VoidResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void ACH_Pay_By_Check_Charge_Request_Returns_Successfully() { // Arrange var request = new ChargeRequest { Amount = 10.00m, Check = new Check { FirstName = "Jack", LastName = "Test", RoutingNumber = "222371863", AccountNumber = "123456" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest<ChargeResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }