public void WhenHandlerRegisteredForQueryThenShouldDispatchQueryToHandler() { var services = new ServiceCollection(); services.AddOpenEventSourcing() .AddQueries() .Services .AddLogging(); var serviceProvider = services.BuildServiceProvider(); var dispatcher = serviceProvider.GetRequiredService <IQueryDispatcher>(); var handler = serviceProvider.GetRequiredService <IQueryHandler <FakeDispatchableQuery, bool> >(); var query = new FakeDispatchableQuery(); Func <Task> act = () => dispatcher.DispatchAsync(query); act.Should().NotThrow(); ((FakeDispatchableQueryHandler)handler).Handled.Should().Be(1); }
public void WhenCancellationTokenRemainsNonCancelledThenShouldNotThrowOperationCancelledException() { var services = new ServiceCollection(); services.AddOpenEventSourcing() .AddQueries() .Services .AddLogging(); var serviceProvider = services.BuildServiceProvider(); var dispatcher = serviceProvider.GetRequiredService <IQueryDispatcher>(); var handler = serviceProvider.GetRequiredService <IQueryHandler <FakeDispatchableQuery, bool> >(); var command = new FakeDispatchableQuery(); var cancellationTokenSource = new CancellationTokenSource(); var cancellationToken = cancellationTokenSource.Token; Func <Task> act = () => dispatcher.DispatchAsync(command, cancellationTokenSource.Token); act.Should().NotThrow(); ((FakeDispatchableQueryHandler)handler).Handled.Should().Be(1); }