feat: wip on login endpoint
- added basic REPR pattern - added basic vert architecture - implemented basica validation for single test case
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
namespace FiscalOS.API.Tests.Infra;
|
||||
|
||||
public class TestApi : WebApplicationFactory<Program>
|
||||
{
|
||||
protected override void ConfigureWebHost(IWebHostBuilder builder)
|
||||
{
|
||||
base.ConfigureWebHost(builder);
|
||||
|
||||
builder.ConfigureLogging(static c => c.ClearProviders());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
using System.Net.Http.Json;
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FiscalOS.API.Tests.Integration;
|
||||
|
||||
public class LoginTests(TestApi testApi) : IClassFixture<TestApi>
|
||||
{
|
||||
private readonly TestApi _testApi = testApi;
|
||||
|
||||
[Fact]
|
||||
public async Task Login_WhenUserSubmitsWithoutUsernameOrPassword_ItShouldReturn400WithProblemDetails()
|
||||
{
|
||||
var client = _testApi.CreateClient();
|
||||
|
||||
var res = await client.PostAsJsonAsync("/login", new { }, TestContext.Current.CancellationToken);
|
||||
|
||||
res.StatusCode.Should().Be(System.Net.HttpStatusCode.BadRequest);
|
||||
|
||||
var problem = await res.Content.ReadFromJsonAsync<ValidationProblemDetails>(TestContext.Current.CancellationToken);
|
||||
|
||||
problem!.Errors.Should().BeEquivalentTo(new Dictionary<string, string[]>()
|
||||
{
|
||||
["Username"] = ["The Username field is required."],
|
||||
["Password"] = ["The Password field is required."]
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user