public async Task Publish_NeverThrows() { var notificationHandlers = new[] { _throwingHandler.Object }; var mediator = new CustomMediator(_ => notificationHandlers); var dispatcher = new MessageDispatcher(_logger, mediator); await dispatcher.PublishAsync(_notification); }
public async Task Publish_WithNormalHandler_Works() { var notificationHandlers = new[] { _normalHandler.Object }; var mediator = new CustomMediator(_ => notificationHandlers); var dispatcher = new MessageDispatcher(_logger, mediator); await dispatcher.PublishAsync(_notification); }
public async Task Publish_Throws_AllActionsAreExecuted() { var notificationHandlers = new[] { _throwingHandler.Object, _normalHandler.Object }; var mediator = new CustomMediator(_ => notificationHandlers); var dispatcher = new MessageDispatcher(_logger, mediator); await dispatcher.PublishAsync(_notification); _throwingHandler.Verify(x => x.Handle(It.IsAny <INotification>(), It.IsAny <CancellationToken>()), Times.Once); _normalHandler.Verify(x => x.Handle(It.IsAny <INotification>(), It.IsAny <CancellationToken>()), Times.Once); }