using Microsoft.Extensions.Hosting; using EnvelopeGenerator.Application.Extensions; using EnvelopeGenerator.Infrastructure; using Microsoft.Extensions.Configuration; namespace EnvelopeGenerator.Tests.Application; public class Mock { public static IHost CreateHost(Action? builderOptions = null, string configPath = "appsettings.json", params string[] args) { var builder = Host.CreateApplicationBuilder(args.Any() ? args : null); builder.Configuration.AddJsonFile(configPath, optional: true, reloadOnChange: true); builder.Services .AddEnvelopeGeneratorRepositories() .AddEnvelopeGeneratorServices(builder.Configuration); builderOptions?.Invoke(builder); var host = builder.Build(); return host; } }