using System.IO; using backend.Data; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace backend.tests; public class ApiFactory : WebApplicationFactory { private readonly string _dbPath = Path.Combine(Path.GetTempPath(), $"assistant-test-{Guid.NewGuid():N}.db"); protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.UseEnvironment("Test"); builder.ConfigureAppConfiguration((_, cfg) => { cfg.AddInMemoryCollection(new Dictionary { ["ConnectionStrings:Default"] = $"Data Source={_dbPath}", }); }); } protected override void Dispose(bool disposing) { base.Dispose(disposing); if (File.Exists(_dbPath)) File.Delete(_dbPath); } }