Watch
1
0
Fork
You've already forked test-web
0
test-web/tests/Core/Vehicles/VehicleModuleTests.cs
Chris Dill 0e79a8eb5e
All checks were successful
Build / build (push) Successful in 52s
Initial commit
2026-05-30 12:26:50 +01:00

81 lines
2.7 KiB
C#

using System.Collections.Generic;
using System.Net;
using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.Testing;
using TestWeb.Infra;
using TestWeb.Core.Vehicles;
namespace TestWeb.Tests.Core.Vehicles;
public class VehicleModuleTests : IClassFixture<TestFixture>
{
private readonly HttpClient client;
public VehicleModuleTests(TestFixture fixture)
{
client = fixture.Client;
}
[Fact]
public async Task Base()
{
// Create
var createRequest = new CreateVehicleEndpoint.Request("Test make", "Test model");
var createCall = await client.PostAsJsonAsync(
VehicleModule.Prefix,
createRequest,
cancellationToken: TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.OK, createCall.StatusCode);
var createResponse = await createCall.Content
.ReadFromJsonAsync<CreateVehicleEndpoint.Response>(
cancellationToken: TestContext.Current.CancellationToken
);
Assert.NotNull(createResponse);
// Get
var getListCall = await client.GetAsync(
VehicleModule.Prefix,
TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.OK, getListCall.StatusCode);
var getCall = await client.GetAsync(
$"{VehicleModule.Prefix}/{createResponse.Id}",
TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.OK, getCall.StatusCode);
// Update
var updateRequest = new UpdateVehicleEndpoint.Request("Test make update", "Test model update");
var updateCall = await client.PutAsJsonAsync(
$"{VehicleModule.Prefix}/{createResponse.Id}",
updateRequest,
cancellationToken: TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.OK, updateCall.StatusCode);
// Delete
var deleteCall = await client.DeleteAsync(
$"{VehicleModule.Prefix}/{createResponse.Id}",
TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.OK, deleteCall.StatusCode);
// Not found
var deleteCallNotFound = await client.DeleteAsync(
$"{VehicleModule.Prefix}/{createResponse.Id}",
TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.NotFound, deleteCallNotFound.StatusCode);
var getCallNotFound = await client.GetAsync(
$"{VehicleModule.Prefix}/{createResponse.Id}",
TestContext.Current.CancellationToken
);
Assert.Equal(HttpStatusCode.NotFound, getCallNotFound.StatusCode);
}
}