using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.TestHost; using Microsoft.eShopOnContainers.Services.Marketing.API.Infrastructure; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using System.IO; namespace Marketing.FunctionalTests.Base { public class MarketingScenariosBase { public static string CampaignsUrlBase => "api/v1/campaigns"; public TestServer CreateServer() { var webHostBuilder = WebHost.CreateDefaultBuilder(); webHostBuilder.UseContentRoot(Directory.GetCurrentDirectory() + "\\Services\\Marketing"); webHostBuilder.UseStartup(); var testServer = new TestServer(webHostBuilder); testServer.Host .MigrateDbContext((context, services) => { var logger = services.GetService>(); new MarketingContextSeed() .SeedAsync(context, logger) .Wait(); }); return testServer; } } }