public async Task Verify_emittingCommand_on_reload() { var orderId = new OrderId(101); var evt = new OrderPlaced(orderId); await ApplyEventOnSaga(evt).ConfigureAwait(false); var evt2 = new BillPrinted(orderId); await ApplyEventOnSaga(evt2).ConfigureAwait(false); var sagaId = _listener.GetCorrelationId(evt); var changesets = await _persistence.EventStoreReadChangeset(sagaId).ConfigureAwait(false); var changeset = changesets.Last(); Assert.That(changeset.Events.Length, Is.EqualTo(1), "Single event expected"); var @event = changeset.Events.Single(); Assert.That(@event, Is.InstanceOf <MessageReaction>(), "We are expecting a messagereaction as payload"); MessageReaction reaction = (MessageReaction)@event; Assert.That(reaction.MessagesOut.Length, Is.EqualTo(0), "Bill printed does not have out events"); }
public ProcessPayment On(OrderPlaced orderPlaced) { Log("Order Placed"); return(new ProcessPayment() { PaymentId = $"Payment_{orderPlaced.OrderId}" }); }
public async Task Verify_saga_reloaded_status() { var orderId = new OrderId(100); var evt = new OrderPlaced(orderId); await ApplyEventOnSaga(evt).ConfigureAwait(false); var sagaId = _listener.GetCorrelationId(evt); var sagaReloaded = await _repo.GetByIdAsync <DeliverPizzaSaga2>(sagaId).ConfigureAwait(false); Assert.That(sagaReloaded.AccessState.PizzaActualStatus, Is.EqualTo("Order Placed")); Assert.That(sagaReloaded.Id, Is.EqualTo("DeliverPizzaSaga2_Order_100")); }
public void Verify_saga_reloaded_status() { var orderId = new OrderId(42); var evt = new OrderPlaced(orderId); ApplyEventOnSaga(evt); var sagaId = _listener.GetCorrelationId(evt); var sagaReloaded = _repo.GetById <DeliverPizzaSaga2>(sagaId); Assert.That(sagaReloaded.PizzaActualStatus, Is.EqualTo("Order Placed")); Assert.That(sagaReloaded.Id, Is.EqualTo("DeliverPizzaSaga2_Order_42")); }
public void listener_tests_when_id_has_prefix() { var listener = new DeliverPizzaSagaListener2(); var orderId = new OrderId(5); var placed = new OrderPlaced(orderId); var printed = new BillPrinted(orderId); var received = new PaymentReceived(orderId, Guid.NewGuid()); var delivered = new PizzaDelivered(orderId); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(placed)); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(printed)); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(received)); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(delivered)); }
public void listener_tests() { var listener = new DeliverPizzaSagaListener(); var orderId = new OrderId(4); var placed = new OrderPlaced(orderId); var printed = new BillPrinted(orderId); var received = new PaymentReceived(orderId, Guid.NewGuid()); var delivered = new PizzaDelivered(orderId); var prefix = listener.Prefix; Assert.AreEqual(prefix + (string)orderId, listener.GetCorrelationId(placed)); Assert.AreEqual(prefix + (string)orderId, listener.GetCorrelationId(printed)); Assert.AreEqual(prefix + (string)orderId, listener.GetCorrelationId(received)); Assert.AreEqual(prefix + (string)orderId, listener.GetCorrelationId(delivered)); }
public void Verify_saga_reloaded_status_after_two_events() { var orderId = new OrderId(42); var evt = new OrderPlaced(orderId); ApplyEventOnSaga(evt); var evt2 = new BillPrinted(orderId); ApplyEventOnSaga(evt2); var sagaId = _listener.GetCorrelationId(evt); var sagaReloaded = _repo.GetById <DeliverPizzaSaga2>(sagaId); Assert.That(sagaReloaded.PizzaActualStatus, Is.EqualTo("Bill printed")); }
public async Task Verify_saga_does_not_mix_events() { var orderId = new OrderId(102); var evt = new OrderPlaced(orderId); await ApplyEventOnSaga(evt).ConfigureAwait(false); var orderId2 = new OrderId(103); var evt2 = new BillPrinted(orderId2); await ApplyEventOnSaga(evt2).ConfigureAwait(false); var sagaId = _listener.GetCorrelationId(evt); var sagaReloaded = await _repo.GetByIdAsync <DeliverPizzaSaga2>(sagaId).ConfigureAwait(false); Assert.That(sagaReloaded.AccessState.PizzaActualStatus, Is.EqualTo("Order Placed")); }
public void On(OrderPlaced orderPlaced) { _logger.Debug("Order Placed"); }