tests: refactor test suite to match new project structure
This commit is contained in:
@@ -19,6 +19,13 @@ public abstract class IntegrationTest(TestApi testApi) : IClassFixture<TestApi>,
|
||||
await action(context);
|
||||
}
|
||||
|
||||
protected async Task ExecuteDbContextAsync(Func<DbContext, IServiceProvider, Task> action)
|
||||
{
|
||||
await using var scope = testApi.Services.CreateAsyncScope();
|
||||
var context = scope.ServiceProvider.GetRequiredService<AppDbContext>();
|
||||
await action(context, scope.ServiceProvider);
|
||||
}
|
||||
|
||||
protected async Task<T> ExecuteDbContextAsync<T>(Func<DbContext, Task<T>> action)
|
||||
{
|
||||
await using var scope = testApi.Services.CreateAsyncScope();
|
||||
@@ -26,6 +33,13 @@ public abstract class IntegrationTest(TestApi testApi) : IClassFixture<TestApi>,
|
||||
return await action(context);
|
||||
}
|
||||
|
||||
protected async Task<T> ExecuteDbContextAsync<T>(Func<DbContext, IServiceProvider, Task<T>> action)
|
||||
{
|
||||
await using var scope = testApi.Services.CreateAsyncScope();
|
||||
var context = scope.ServiceProvider.GetRequiredService<AppDbContext>();
|
||||
return await action(context, scope.ServiceProvider);
|
||||
}
|
||||
|
||||
public async ValueTask DisposeAsync()
|
||||
{
|
||||
await ExecuteDbContextAsync(static async context =>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using FiscalOS.API.Identity;
|
||||
using FiscalOS.Core.Identity;
|
||||
|
||||
namespace FiscalOS.API.Tests.Integration;
|
||||
|
||||
@@ -40,11 +40,14 @@ public class LoginTests(TestApi testApi) : IntegrationTest(testApi)
|
||||
[Fact]
|
||||
public async Task Login_WhenUserExistsButPasswordIsIncorrect_ItShouldReturn401WithProblemDetails()
|
||||
{
|
||||
await ExecuteDbContextAsync(static async context =>
|
||||
await ExecuteDbContextAsync(static async (context, sp) =>
|
||||
{
|
||||
var passwordHasher = sp.GetRequiredService<IPasswordHasher>();
|
||||
|
||||
context.Add(new User
|
||||
{
|
||||
Username = "Stevan",
|
||||
HashedPassword = passwordHasher.Hash("@Password1"),
|
||||
});
|
||||
|
||||
await context.SaveChangesAsync(TestContext.Current.CancellationToken);
|
||||
|
||||
Reference in New Issue
Block a user