From 0841390713035c4c43ef8d1cfafc20405f6ad2d3 Mon Sep 17 00:00:00 2001 From: Mattias Karlsson Date: Sat, 22 Nov 2025 21:51:59 +0100 Subject: [PATCH] Refactor MockHttp to register response builder in DI container - Register Routes.GetResponseBuilder as singleton service - Update CreateClient to retrieve response builder from DI instead of direct call - Update CreateHttpMessageHandlerFactory to retrieve response builder from DI - Improves testability and follows dependency injection patterns --- .../IServiceCollectionExtensions.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Devlead.Testing.MockHttp/IServiceCollectionExtensions.cs b/src/Devlead.Testing.MockHttp/IServiceCollectionExtensions.cs index 5d2c0fc..78e05de 100644 --- a/src/Devlead.Testing.MockHttp/IServiceCollectionExtensions.cs +++ b/src/Devlead.Testing.MockHttp/IServiceCollectionExtensions.cs @@ -11,9 +11,11 @@ public static IServiceCollection AddMockHttpClient( this IServiceCollection services ) { + services.AddSingleton(Routes.GetResponseBuilder); + static MockHttpClient CreateClient(IServiceProvider provider) { - var client = new MockHttpClient(Routes.GetResponseBuilder(provider)); + var client = new MockHttpClient(provider.GetRequiredService>()); foreach(var service in provider.GetServices>()) { service?.Invoke(client); @@ -22,7 +24,7 @@ static MockHttpClient CreateClient(IServiceProvider provider) } static MockHttpMessageHandlerFactory CreateHttpMessageHandlerFactory(IServiceProvider provider) - => new(Routes.GetResponseBuilder(provider)); + => new(provider.GetRequiredService>()); return services .AddTransient(provider => provider.GetRequiredService())