public async Task SubmitFuturePayment_GivenCorrectPaymentInfo_ShouldReturnSuccess() { // Arrange var client = await _factory.GetAuthenticatedClientAsync(TestMerchantID, TestApiKey); var generatedPaymentOrderID = await GeneratePayment(client); var submitCommand = new SubmitFuturePaymentCommand() { CardName = "Test CardName", CvvCode = "545", CardNumber = "5555555555554444", ExpiryMonth = 12, ExpiryYear = 2024, PaymentID = generatedPaymentOrderID }; // Act var submittedResponse = await client.PostAsync($"/api/submit-future-payment", Utils.GetRequestContent(submitCommand)); var payment = await Utils.GetResponseContent <SubmitFuturePaymentResultWm>(submittedResponse); // Assert payment.OrderID.Should().NotBeNullOrEmpty(); payment.ResponseCode.Should().Be(PaymentProcessEnum.RequestFuturePayment.Id); submittedResponse.StatusCode.Should().Be(HttpStatusCode.OK); }
public async Task SubmitPayment_GivenInvalidCardNumber_ShouldThrownValidationException(string cardNumber) { // Arrange var client = await _factory.GetAuthenticatedClientAsync(TestMerchantID, TestApiKey); var generatedPaymentOrderID = await GeneratePayment(client); var submitCommand = new SubmitFuturePaymentCommand() { CardName = "Test CardName", CvvCode = "545", CardNumber = cardNumber, ExpiryMonth = 12, ExpiryYear = 2024, PaymentID = generatedPaymentOrderID }; // Act var submittedResponse = await client.PostAsync($"/api/submit-future-payment", Utils.GetRequestContent(submitCommand)); // Assert submittedResponse.StatusCode.Should().Be(HttpStatusCode.BadRequest); }
public async Task <IActionResult> SubmitFuturePayment([FromBody] SubmitFuturePaymentCommand model) { var result = await _mediator.Send(model); return(Ok(result)); }