public void DispatchTheQuery_HandlerNotRegistered_ExceptionThrown() { IServiceCollection serviceCollection = new ServiceCollection(); IQuery fakeQuery = new FakeQuery(); IResolver resolver = new Resolver(serviceCollection.BuildServiceProvider()); IQueryDispatcher queryDispatcher = new QueryDispatcher(resolver); Assert.Throws <NotRegisteredQueryHandlerException <FakeQuery> >(() => queryDispatcher.RunQuery <FakeQuery, FakeQueryResult>(new FakeQuery())); }
public void DispatchTheQuery_ThereIsAnHandler_QueryHandlerIsInvoked() { IServiceCollection serviceCollection = new ServiceCollection(); serviceCollection.AddScoped <IWantToHandleQuery <FakeQuery, FakeQueryResult>, FakeQueryHandler>(); IResolver resolver = new Resolver(serviceCollection.BuildServiceProvider()); IQueryDispatcher queryDispatcher = new QueryDispatcher(resolver); queryDispatcher.RunQuery <FakeQuery, FakeQueryResult>(new FakeQuery()); var queryHandler = resolver.Resolve <IWantToHandleQuery <FakeQuery, FakeQueryResult> >(); ((FakeQueryHandler)queryHandler).Verify(); }