public void Initialize_should_throw_when_message_is_not_mapped() { //arrange var id = "something-unique"; var store = new Mock <ISagaStore>(); var saga = new TestSaga(); var startMessage = new TestSagaMessage(id); var handler = new SagaHandler <TestSagaData, TestSagaMessage>(store.Object, saga, startMessage); //act & assert handler.Awaiting(x => x.Initialize()).Should().Throw <SagaMessageMappingNotFoundException>(); }
public async Task Initialize_should_resume_saga_when_start_message_is_received() { //arrange var id = "something-unique"; var store = new Mock <ISagaStore>(); var saga = new TestSaga(); var startMessage = new TestSagaMessage(id); var handler = new SagaHandler <TestSagaData, TestSagaMessage>(store.Object, saga, startMessage); saga.MessageMapper.MapMessage <TestSagaMessage>(x => x.MessageId); //act await handler.Initialize(); //assert store.Verify(x => x.GetSaga <TestSagaData>(saga.PartitionKey, id), Times.Once); }
public void Handle(TestSagaMessage message) { DoSqlStuffToUseImplicitTransaction(); }