diff --git a/test/MediatR.Tests/SendTests.cs b/test/MediatR.Tests/SendTests.cs index 243a363c..553c689c 100644 --- a/test/MediatR.Tests/SendTests.cs +++ b/test/MediatR.Tests/SendTests.cs @@ -105,14 +105,18 @@ public Task Handle(VoidGenericPing request, CancellationToken cancellationTok } } + public class PongExtension : Pong + { + + } - public class TestClass1PingRequestHandler : IRequestHandler> + public class TestClass1PingRequestHandler : IRequestHandler> { private readonly Dependency _dependency; public TestClass1PingRequestHandler(Dependency dependency) => _dependency = dependency; - public Task Handle(VoidGenericPing request, CancellationToken cancellationToken) + public Task Handle(VoidGenericPing request, CancellationToken cancellationToken) { _dependency.CalledSpecific = true; return Task.CompletedTask; @@ -246,14 +250,32 @@ public async Task Should_resolve_closed_handler_if_defined() var services = new ServiceCollection(); services.AddSingleton(dependency); services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblies(Assembly.GetExecutingAssembly())); - services.AddTransient>,TestClass1PingRequestHandler>(); + services.AddTransient>,TestClass1PingRequestHandler>(); var serviceProvider = services.BuildServiceProvider(); var mediator = serviceProvider.GetService()!; - var request = new VoidGenericPing(); + var request = new VoidGenericPing(); await mediator.Send(request); dependency.Called.ShouldBeFalse(); dependency.CalledSpecific.ShouldBeTrue(); } + + [Fact] + public async Task Should_resolve_open_handler_if_not_defined() + { + var dependency = new Dependency(); + var services = new ServiceCollection(); + services.AddSingleton(dependency); + services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblies(Assembly.GetExecutingAssembly())); + services.AddTransient>, TestClass1PingRequestHandler>(); + var serviceProvider = services.BuildServiceProvider(); + var mediator = serviceProvider.GetService()!; + + var request = new VoidGenericPing(); + await mediator.Send(request); + + dependency.Called.ShouldBeTrue(); + dependency.CalledSpecific.ShouldBeFalse(); + } } \ No newline at end of file