Files
ScadaBridge/tests/ZB.MOM.WW.ScadaBridge.ManagementService.Tests/ConfigurationTransactionTestExtensions.cs
T
2026-09-09 16:13:58 -04:00

22 lines
844 B
C#

using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
namespace Microsoft.Extensions.DependencyInjection;
internal static class ConfigurationTransactionTestExtensions
{
public static ServiceCollection AddTestConfigurationTransaction(this ServiceCollection services)
{
services.AddSingleton<IConfigurationCommandTransaction, RepositoryTransaction>();
services.AddScoped<ZB.MOM.WW.ScadaBridge.TemplateEngine.Services.AreaService>();
return services;
}
private sealed class RepositoryTransaction(IServiceScopeFactory scopes) : IConfigurationCommandTransaction
{
public async Task<object?> ExecuteAsync(Func<IServiceProvider, Task<object?>> operation)
{
using var scope = scopes.CreateScope();
return await operation(scope.ServiceProvider);
}
}
}