Skip to content

Commit 17f2073

Browse files
committed
Added StreamRequestHandler, NotificationHandler tests
1 parent 9ea77d7 commit 17f2073

File tree

6 files changed

+77
-9
lines changed

6 files changed

+77
-9
lines changed

test/MediatR.DependencyInjectionTests/Abstractions/BaseAssemblyResolutionTests.cs

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using Microsoft.Extensions.DependencyInjection;
1+
using MediatR.DependencyInjectionTests.Contracts.Notifications;
2+
using MediatR.DependencyInjectionTests.Contracts.StreamRequests;
3+
using Microsoft.Extensions.DependencyInjection;
24

35
namespace MediatR.DependencyInjectionTests.Abstractions;
46

@@ -14,8 +16,6 @@ public void Should_Resolve_Mediator() =>
1416
_provider.GetService<IMediator>()
1517
.ShouldNotBeNull();
1618

17-
#region REQUESTS
18-
1919
[Fact]
2020
public void Should_Resolve_Public_RequestHandler() =>
2121
_provider.GetService<IRequestHandler<PublicPing, Pong>>()
@@ -31,10 +31,6 @@ public void Should_Resolve_Private_RequestHandler() =>
3131
_provider.GetService<IRequestHandler<PrivatePing, Pong>>()
3232
.ShouldNotBeNull();
3333

34-
#endregion
35-
36-
#region VOID_REQUESTS
37-
3834
[Fact]
3935
public void Should_Resolve_Public_Void_RequestHandler() =>
4036
_provider.GetService<IRequestHandler<PublicVoidPing>>()
@@ -50,5 +46,24 @@ public void Should_Resolve_Private_Void_RequestHandler() =>
5046
_provider.GetService<IRequestHandler<PrivateVoidPing>>()
5147
.ShouldNotBeNull();
5248

53-
#endregion
49+
[Fact]
50+
public void Should_Resolve_Public_Private_Internal_Notification_Handlers() =>
51+
_provider.GetServices<INotificationHandler<Ding>>()
52+
.Count()
53+
.ShouldBe(3);
54+
55+
[Fact]
56+
public void Should_Resolve_Public_Stream_Request_Handlers() =>
57+
_provider.GetService<IStreamRequestHandler<PublicZing, Zong>>()
58+
.ShouldNotBeNull();
59+
60+
[Fact]
61+
public void Should_Resolve_Internal_Stream_Request_Handlers() =>
62+
_provider.GetService<IStreamRequestHandler<InternalZing, Zong>>()
63+
.ShouldNotBeNull();
64+
65+
[Fact]
66+
public void Should_Resolve_Private_Stream_Request_Handlers() =>
67+
_provider.GetService<IStreamRequestHandler<PrivateZing, Zong>>()
68+
.ShouldNotBeNull();
5469
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
namespace MediatR.DependencyInjectionTests.Contracts.Notifications;
2+
3+
public record Ding : INotification
4+
{
5+
public class Door1 : INotificationHandler<Ding>
6+
{
7+
public Task Handle(Ding notification, CancellationToken cancellationToken) =>
8+
Task.CompletedTask;
9+
}
10+
11+
internal class Door2 : INotificationHandler<Ding>
12+
{
13+
public Task Handle(Ding notification, CancellationToken cancellationToken) =>
14+
Task.CompletedTask;
15+
}
16+
17+
private class Door3 : INotificationHandler<Ding>
18+
{
19+
public Task Handle(Ding notification, CancellationToken cancellationToken) =>
20+
Task.CompletedTask;
21+
}
22+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
namespace MediatR.DependencyInjectionTests.Contracts.Responses;
22

3-
public record Pong;
3+
public record Pong;
4+
public record Zong;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace MediatR.DependencyInjectionTests.Contracts.StreamRequests;
2+
3+
internal record InternalZing : IStreamRequest<Zong>
4+
{
5+
internal class Handler : IStreamRequestHandler<InternalZing, Zong>
6+
{
7+
public IAsyncEnumerable<Zong> Handle(InternalZing request, CancellationToken token) =>
8+
throw new NotImplementedException();
9+
}
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace MediatR.DependencyInjectionTests.Contracts.StreamRequests;
2+
3+
internal record PrivateZing : IStreamRequest<Zong>
4+
{
5+
private class Handler : IStreamRequestHandler<PrivateZing, Zong>
6+
{
7+
public IAsyncEnumerable<Zong> Handle(PrivateZing request, CancellationToken token) =>
8+
throw new NotImplementedException();
9+
}
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace MediatR.DependencyInjectionTests.Contracts.StreamRequests;
2+
3+
public record PublicZing : IStreamRequest<Zong>
4+
{
5+
public class Handler : IStreamRequestHandler<PublicZing, Zong>
6+
{
7+
public IAsyncEnumerable<Zong> Handle(PublicZing request, CancellationToken token) =>
8+
throw new NotImplementedException();
9+
}
10+
}

0 commit comments

Comments
 (0)