public void ShouldInvokeBaseClassHandlerForSubclassedMessages() { var handlerInvoked = false; var saga = new CustomSaga <IMessageInterface, MySagaData> { HandlerAction = (request, context, data) => { handlerInvoked = true; return(Task.FromResult(0)); } }; Test.Saga(saga) .WhenHandling <InterfaceImplementingMessage>(); Assert.IsTrue(handlerInvoked); }
public void SetIncomingHeader() { const string customHeaderKey = "custom-header"; const string expectedHeaderValue = "header value"; var containsCustomHeader = false; string receivedHeaderValue = null; var saga = new CustomSaga <MyRequest, MySagaData> { HandlerAction = (request, context, data) => { containsCustomHeader = context.MessageHeaders.TryGetValue(customHeaderKey, out receivedHeaderValue); return(Task.FromResult(0)); } }; Test.Saga(saga) .SetIncomingHeader(customHeaderKey, expectedHeaderValue) .When((s, c) => s.Handle(new MyRequest(), c)); Assert.IsTrue(containsCustomHeader); Assert.AreEqual(expectedHeaderValue, receivedHeaderValue); }