36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
using LiteCharms.Features.Extensions;
|
|
|
|
namespace LiteCharms.Features.Tests;
|
|
|
|
public class Fixture : IDisposable
|
|
{
|
|
public IConfiguration Configuration { get; set; }
|
|
|
|
public IServiceProvider Services { get; set; }
|
|
|
|
public IMediator Mediator { get; set; }
|
|
|
|
public Fixture()
|
|
{
|
|
Configuration = new ConfigurationBuilder()
|
|
.SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddUserSecrets<Fixture>()
|
|
.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json"), optional: true, reloadOnChange: true)
|
|
.AddEnvironmentVariables()
|
|
.Build();
|
|
|
|
Services = new ServiceCollection()
|
|
.AddMediator()
|
|
.AddLogging()
|
|
.AddEmailServiceBus()
|
|
.AddGarageS3(Configuration)
|
|
.AddEmailServices(Configuration)
|
|
.AddSingleton(Configuration)
|
|
.BuildServiceProvider();
|
|
|
|
Mediator = Services.GetRequiredService<IMediator>();
|
|
}
|
|
|
|
public void Dispose() { }
|
|
}
|