public void Save_Persists_CorrelationId()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var saga          = new MySaga {
                CorrelationId = correlationId
            };

            // Act
            Sut.Save(saga);

            // Assert
            var restoredSaga = Sut.Find <MySaga>(correlationId);

            restoredSaga.CorrelationId.Should().Be(correlationId);
        }
        public void Save_Persists_SagaData()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var saga          = new MySaga {
                CorrelationId = correlationId
            };
            var expectedGuid = Guid.NewGuid();

            saga.SagaData.SomeGuid = expectedGuid;

            // Act
            Sut.Save(saga);

            // Assert
            var restoredSaga = Sut.Find <MySaga>(correlationId);

            restoredSaga.SagaData.SomeGuid.Should().Be(expectedGuid);
        }
        public void Complete_Removes_Saga()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var saga          = new MySaga {
                CorrelationId = correlationId
            };

            saga.SagaData.SomeGuid = Guid.NewGuid();
            saga.Headers.Add(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
            Sut.Save(saga);

            // Act
            Sut.Complete(saga);

            // Assert
            var deletedSaga = Sut.Find <MySaga>(correlationId);

            deletedSaga.Should().BeNull();
        }
        public void Save_Persists_Headers()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var saga          = new MySaga {
                CorrelationId = correlationId
            };
            var key   = Guid.NewGuid().ToString();
            var value = Guid.NewGuid().ToString();

            saga.Headers.Add(key, value);

            // Act
            Sut.Save(saga);

            // Assert
            var restoredSaga = Sut.Find <MySaga>(correlationId);

            restoredSaga.Headers[key].Should().Be(value);
        }