public void ShouldThrowInvalidOperationExceptionWhenNoCommandHandlerIsRegistered() { List <IQueryHandler> queryHandlers = Enumerable.Repeat <IQueryHandler>(new TestQueryHandler1 <TestQuery1, string>(string.Empty), 1) .ToList(); var mockHandler = new TestCommandHandler1 <TestCommand1>(); ICollection <ICommandHandler> commandHandlers = new List <ICommandHandler> { mockHandler, }; var command = new TestCommand2(); var dispatcher = new CommandAndQueryDispatcher(commandHandlers, queryHandlers); Action action = () => dispatcher.ExecuteCommand(command); action.ShouldThrow <InvalidOperationException>(); }
public void ShouldUseRegisteredCommandHandlerToExecuteCommand() { List <IQueryHandler> queryHandlers = Enumerable.Repeat <IQueryHandler>(new TestQueryHandler1 <TestQuery1, string>(string.Empty), 1) .ToList(); var mockHandler = new TestCommandHandler1 <TestCommand1>(); ICollection <ICommandHandler> commandHandlers = new List <ICommandHandler> { mockHandler }; var command = new TestCommand1(); var dispatcher = new CommandAndQueryDispatcher(commandHandlers, queryHandlers); dispatcher.ExecuteCommand(command); mockHandler.CommandExecuted.Should().Be(command); }