using System.Net; using System.Net.Http.Json; namespace TestWeb.Tests; using Core.Users; public class UserModuleTests(TestFixture fixture) : IClassFixture { private readonly HttpClient client = fixture.Client; [Fact] public async Task Base() { // Create var createRequest = new CreateUserEndpoint.Request("Test"); var createCall = await client.PostAsJsonAsync( UsersModule.Prefix, createRequest, cancellationToken: TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.OK, createCall.StatusCode); var createResponse = await createCall.Content .ReadFromJsonAsync(cancellationToken: TestContext.Current.CancellationToken); Assert.NotNull(createResponse); // Get var getListCall = await client.GetAsync( UsersModule.Prefix, TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.OK, getListCall.StatusCode); var getCall = await client.GetAsync( $"{UsersModule.Prefix}/{createResponse.Id}", TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.OK, getCall.StatusCode); // Update var updateRequest = new UpdateUserEndpoint.Request("Test"); var updateCall = await client.PutAsJsonAsync( $"{UsersModule.Prefix}/{createResponse.Id}", updateRequest, cancellationToken: TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.OK, updateCall.StatusCode); // Delete var deleteCall = await client.DeleteAsync( $"{UsersModule.Prefix}/{createResponse.Id}", TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.OK, deleteCall.StatusCode); // Not found var deleteCallNotFound = await client.DeleteAsync( $"{UsersModule.Prefix}/{createResponse.Id}", TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.NotFound, deleteCallNotFound.StatusCode); var getCallNotFound = await client.GetAsync( $"{UsersModule.Prefix}/{createResponse.Id}", TestContext.Current.CancellationToken ); Assert.Equal(HttpStatusCode.NotFound, getCallNotFound.StatusCode); } }