основное по тестам готово
Tests / test (pull_request) Successful in 4m5s

This commit is contained in:
gorbenko.pavel
2026-07-23 17:21:30 +05:00
parent 253fafa575
commit e201823f69
10 changed files with 522 additions and 40 deletions
@@ -0,0 +1,29 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Tnsu.ApprovalRoute.Application;
using Tnsu.ApprovalRoute.Application.Common.Interfaces;
using Tnsu.ApprovalRoute.Infrastructure;
namespace Tnsu.ApprovalRoute.IntegrationTests.Infrastructure;
// Собирает такой же DI-контейнер, как реальное приложение (те же extension-методы, что в Program.cs),
// но с тестовой БД и тестовым ICurrentUser вместо HttpContext-based реализации.
internal static class TestServiceProviderFactory
{
public static ServiceProvider Build(string connectionString, string? currentUserEmail = "initiator@tnsu.kz")
{
var configuration = new ConfigurationBuilder()
.AddInMemoryCollection(new Dictionary<string, string?>
{
["ConnectionStrings:Postgres"] = connectionString
})
.Build();
var services = new ServiceCollection();
services.AddApprovalRouteInfrastructure(configuration);
services.AddApprovalRouteApplication();
services.AddSingleton<ICurrentUser>(new TestCurrentUser(currentUserEmail));
return services.BuildServiceProvider();
}
}