using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using PracticeCalendar.Infrastructure.Persistence; namespace PracticeCalendar.UnitTests.Integration { public class CustomWebApplicationFactory : WebApplicationFactory { protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureAppConfiguration(configurationBuilder => { var integrationConfig = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .AddEnvironmentVariables() .Build(); configurationBuilder.AddConfiguration(integrationConfig); }); builder.ConfigureServices((builder, services) => { services.Remove>(); services.AddDbContext(options => options.UseInMemoryDatabase("InMemoryDbForTesting") ); }); } } }