diff --git a/EnvelopeGenerator.Tests.Application/EnvelopeGenerator.Tests.Application.csproj b/EnvelopeGenerator.Tests.Application/EnvelopeGenerator.Tests.Application.csproj index bb36a054..5d3bd5ed 100644 --- a/EnvelopeGenerator.Tests.Application/EnvelopeGenerator.Tests.Application.csproj +++ b/EnvelopeGenerator.Tests.Application/EnvelopeGenerator.Tests.Application.csproj @@ -23,6 +23,9 @@ + + + diff --git a/EnvelopeGenerator.Tests.Application/Mock.cs b/EnvelopeGenerator.Tests.Application/Mock.cs index c4958861..a9cc42d6 100644 --- a/EnvelopeGenerator.Tests.Application/Mock.cs +++ b/EnvelopeGenerator.Tests.Application/Mock.cs @@ -4,18 +4,30 @@ using EnvelopeGenerator.Infrastructure; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using EnvelopeGenerator.Application.Services; +using Microsoft.EntityFrameworkCore; namespace EnvelopeGenerator.Tests.Application; public class Mock { - public static IHost CreateHost(Action? builderOptions = null, string configPath = "appsettings.json", params string[] args) + public static IHost CreateHost(Action? builderOptions = null, string configPath = "appsettings.json", bool useRealDb = false, params string[] args) { var builder = Host.CreateApplicationBuilder(args.Any() ? args : null); + var config = builder.Configuration; builder.Configuration.AddJsonFile(configPath, optional: true, reloadOnChange: true); builder.Services - .AddEnvelopeGeneratorRepositories() + .AddEnvelopeGeneratorRepositories(opt => + { + if (useRealDb) + { + var connStr = config.GetConnectionString("Default") + ?? throw new InvalidOperationException("There is no default connection string in appsettings.json."); + opt.UseSqlServer(connStr); + } + else + opt.UseInMemoryDatabase("MockDB"); + }) .AddEnvelopeGeneratorServices(builder.Configuration) .AddScoped(); diff --git a/EnvelopeGenerator.Tests.Application/Services/DocumentStatusServiceTests.cs b/EnvelopeGenerator.Tests.Application/Services/DocumentStatusServiceTests.cs index 449b1106..275a11e3 100644 --- a/EnvelopeGenerator.Tests.Application/Services/DocumentStatusServiceTests.cs +++ b/EnvelopeGenerator.Tests.Application/Services/DocumentStatusServiceTests.cs @@ -10,7 +10,7 @@ public class DocumentStatusServiceTests [SetUp] public void SetUp() { - _host = Mock.CreateHost(); + _host = Mock.CreateHost(useRealDb: true); } [TearDown]