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);
        }
Beispiel #3
0
 public void Handle(TestSagaMessage message)
 {
     DoSqlStuffToUseImplicitTransaction();
 }