public async Task Should_throw_and_call_all_handlers_if_first_handler_fails() { var handler = new ThrowHandledHandler(); var sut = new InMemoryCommandBus(new ICommandMiddleware[] { handler }); await Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.PublishAsync(command)); Assert.Equal(command, handler.LastCommand); }
public async Task Should_throw_and_call_all_handlers_if_first_handler_fails() { var handler1 = new ThrowHandledHandler(); var handler2 = new AfterThrowHandler(); var sut = new InMemoryCommandBus(new ICommandHandler[] { handler1, handler2 }); await Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.PublishAsync(command)); Assert.Equal(command, handler1.LastCommand); Assert.IsType <InvalidOperationException>(handler2.LastException); }