feat: use stripe sdk to create intent

This commit is contained in:
Stevan Freeborn
2025-12-27 08:38:31 -06:00
parent fe3928bbc7
commit 2df6bff9a7
5 changed files with 178 additions and 19 deletions
@@ -1,5 +1,6 @@
using System.Net;
using System.Net.Http.Json;
using GroundsForSupport.API.Tests.Integration.Infra;
namespace GroundsForSupport.API.Tests.Integration;
@@ -13,7 +14,8 @@ public sealed class PaymentTests(TestApi api) : IClassFixture<TestApi>
{
var client = _api.CreateClient();
var request = new {
var request = new
{
amount = 0,
email = string.Empty,
};
@@ -22,4 +24,36 @@ public sealed class PaymentTests(TestApi api) : IClassFixture<TestApi>
response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
}
[Fact]
public async Task CreatePaymentIntent_WhenGivenInvalidEmail_ItShouldReturnBadRequest()
{
var client = _api.CreateClient();
var request = new
{
amount = 5000,
email = "invalid-email",
};
var response = await client.PostAsJsonAsync("/create-payment-intent", request, TestContext.Current.CancellationToken);
response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
}
[Fact]
public async Task CreatePaymentIntent_WhenGivenValidRequest_ItShouldReturnCreated()
{
var client = _api.CreateClient();
var request = new
{
amount = 5000,
email = "test@test.com",
};
var response = await client.PostAsJsonAsync("/create-payment-intent", request, TestContext.Current.CancellationToken);
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
}