This commit is contained in:
commit
0e79a8eb5e
43 changed files with 1282 additions and 0 deletions
81
tests/Core/Vehicles/VehicleModuleTests.cs
Normal file
81
tests/Core/Vehicles/VehicleModuleTests.cs
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
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);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue