using Microsoft.Extensions.DependencyInjection.Extensions; using NSubstitute; using ZB.MOM.WW.ScadaBridge.CentralUI.Services; using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services; namespace Microsoft.Extensions.DependencyInjection; internal static class ConfigurationMutationTestExtensions { public static IServiceCollection AddTestConfigurationMutations(this IServiceCollection services) { services.TryAddScoped(); services.TryAddScoped(); services.TryAddSingleton(_ => Substitute.For()); services.TryAddSingleton(); return services; } private sealed class RepositoryTransaction(IServiceScopeFactory scopes) : IConfigurationCommandTransaction { public async Task ExecuteAsync(Func> operation) { using var scope = scopes.CreateScope(); return await operation(scope.ServiceProvider); } } }