using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc.Testing; namespace TeamUp.IntegrationTests; /// /// Drives the real web host against the test container, in Development so /// migrations apply on startup and the OpenAPI document is mapped. /// public sealed class TeamUpWebFactory( string connectionString, IReadOnlyDictionary? settings = null) : WebApplicationFactory { protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.UseEnvironment("Development"); builder.UseSetting("ConnectionStrings:Postgres", connectionString); builder.UseSetting("Database:ApplyMigrationsOnStartup", "true"); builder.UseSetting("OpenTelemetry:OtlpEndpoint", string.Empty); if (settings is not null) { foreach (var (key, value) in settings) { builder.UseSetting(key, value); } } } }