public void Create_should_create_valid_instance() { var state = new DummySagaState(Guid.NewGuid()); var expectedSaga = new DummySaga(); var sp = NSubstitute.Substitute.For <IServiceProvider>(); sp.GetService(typeof(DummySaga)) .Returns(expectedSaga); var bus = NSubstitute.Substitute.For <IMessageBus>(); sp.GetService(typeof(IMessageBus)) .Returns(bus); var scope = NSubstitute.Substitute.For <IServiceScope>(); scope.ServiceProvider.Returns(sp); var factory = NSubstitute.Substitute.For <IServiceScopeFactory>(); factory.CreateScope().Returns(scope); sp.GetService(typeof(IServiceScopeFactory)) .Returns(factory); var sut = new DefaultSagaFactory <DummySaga, DummySagaState>(sp); var saga = sut.Create(state); saga.Should().NotBeNull(); saga.State.Should().Be(state); }
public void SetState_should_set_state() { var state = new DummySagaState(Guid.NewGuid()); var sut = new DummySaga(state); sut.State.Should().Be(state); }
public void OnHandlingErrorGetsCalledWhenBeforeHandlingThrowsExceptionForSagas() { // arrange Exception actual = null; var expected = new Exception(); var handler = new DummySaga(); activator.UseHandler(handler); dispatcher.BeforeHandling += (message, sagadata) => { throw expected; }; dispatcher.OnHandlingError += exception => { actual = exception; }; // act var task = dispatcher.Dispatch(new Object()); Assert.Throws <AggregateException>(() => task.Wait()); // assert Assert.AreEqual(expected, actual); }
public void SetBus_should_set_state() { var sut = new DummySaga(); var bus = NSubstitute.Substitute.For <IMessageBus>(); sut.SetBus(bus); sut.Bus.Should().Be(bus); }
public void SetBus_should_throw_when_input_null() { var sut = new DummySaga(); Assert.Throws <ArgumentNullException>(() => sut.SetBus(null)); }