Files
Musify/backend/Tests/Musify.Application.Tests/TestSupport/HandlerTestBase.cs
T
2026-09-24 13:24:43 +02:00

32 lines
883 B
C#

using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Xunit;
namespace Musify.Application.Tests.TestSupport
{
public abstract class HandlerTestBase : IAsyncLifetime
{
private TestDatabase database = null!;
protected TestDatabase Database => database;
public async ValueTask InitializeAsync() => database = await TestDatabase.CreateAsync();
public ValueTask DisposeAsync()
{
GC.SuppressFinalize(this);
return database.DisposeAsync();
}
protected static ILogger<T> NoOpLogger<T>() => NullLogger<T>.Instance;
protected async Task SeedAsync(params object[] entities)
{
foreach (var entity in entities)
Database.Add(entity);
await Database.SaveChangesAsync(CancellationToken.None);
}
}
}