public void RegisteringHandlersToSkipDuringBeforeHandleSkipsHandlerInvokationForSagas() { // arrange TrackDisposable(TransactionContext.None()); var handler = new BooleanSaga(); activator.UseHandler(handler); var mock = Mock <IMessageContext>(); mock.Stub(m => m.Items).Return(new Dictionary <string, object>()); mock.Stub(m => m.Headers).Return(new Dictionary <string, object>()); dispatcher.BeforeHandling += (message, hndl) => { var ctx = MessageContext.GetCurrent(); mock.Stub(m => m.HandlersToSkip).Return(new List <Type>() { hndl.GetType() }.AsReadOnly()); }; using (var fake = FakeMessageContext.Establish(mock)) { // act dispatcher.Dispatch <object>(new Object()).Wait(); } // assert Assert.IsFalse(handler.Handled); }
public void IfBeforeHandlingNotDefinedSagaHandlerIsExecuted() { // arrange var handler = new BooleanSaga(); activator.UseHandler(handler); // act dispatcher.Dispatch <object>(new Object()).Wait(); // assert Assert.IsTrue(handler.Handled); }