public async void Booking_failed() { var vacationSagaBuilder = new VacationSagaBuilder(); vacationSagaBuilder.AddStep(new BookFlight().Succeeded()); vacationSagaBuilder.AddStep(new BookHotel().Failed()); var saga = vacationSagaBuilder.Build(); var result = await saga.ExecuteAsync(); var correlationId = saga.CorrelationId; Assert.False(result); Assert.True(correlationId.ToString().Length > 0); }
public async void Booking_failed_with_response_message() { var vacationSagaBuilder = new VacationSagaBuilder(); vacationSagaBuilder.AddStep(new BookFlight().Succeeded()); var bookingHotelMessage = string.Empty; vacationSagaBuilder.AddStep(new BookHotel().Failed() .ContinueWith(c => { bookingHotelMessage = "Booking hotel failed!"; return(c.Result); })); var saga = vacationSagaBuilder.Build(); var result = await saga.ExecuteAsync(); var correlationId = saga.CorrelationId; Assert.False(result); Assert.True(correlationId.ToString().Length > 0); Assert.True(bookingHotelMessage.Length > 0); Assert.Equal("Booking hotel failed!", bookingHotelMessage); }