using MangaReader.Core.Data; using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; namespace MangaReader.Tests.Utilities; public class TestDbContextFactory : IDisposable { private readonly SqliteConnection _connection; private readonly DbContextOptions _options; public TestDbContextFactory() { _connection = new SqliteConnection("DataSource=:memory:"); _connection.Open(); _options = new DbContextOptionsBuilder() .UseSqlite(_connection) .EnableSensitiveDataLogging() // Optional: helps with debugging .Options; using MangaContext context = new(_options); context.Database.EnsureCreated(); } public MangaContext CreateContext() { return new MangaContext(_options); } public void Dispose() { _connection.Close(); _connection.Dispose(); } }