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<MarketingTestsStartup>();
|
|
|
|
var testServer = new TestServer(webHostBuilder);
|
|
|
|
testServer.Host
|
|
.MigrateDbContext<MarketingContext>((context, services) =>
|
|
{
|
|
var logger = services.GetService<ILogger<MarketingContextSeed>>();
|
|
|
|
new MarketingContextSeed()
|
|
.SeedAsync(context, logger)
|
|
.Wait();
|
|
});
|
|
|
|
return testServer;
|
|
}
|
|
}
|
|
}
|