public async Task TestRepo() { var @event = new OrderCreated(Guid.NewGuid(), 100, 0, 0); var definition = new OrderProcessManager3(); var instance = new Instance <OrderProcessManagerData>(definition); var identitySelector = ((IDefinition <OrderProcessManagerData>)definition).GetCorrelationFilter <OrderCreated>(); if (identitySelector != null) { instance = await _fixture.Repository.Get(definition, identitySelector(@event), CancellationToken.None); } instance.ProcessEvent(@event); await _fixture.Repository.Save(instance, CancellationToken.None); }
public void setStateHandler_with_two_events() { var orderId = Guid.NewGuid(); var orderCreated = new OrderCreated(orderId, 100, 0, 0); var definition = new OrderProcessManager3(); var instance = new Instance <OrderProcessManagerData>(definition); instance.ProcessEvent(orderCreated); instance.Data.Amount.Should().Be(100); var orderPaymentCreated = new OrderPaymentCreated(100, orderId, 0, 0); instance.ProcessEvent(orderPaymentCreated); instance.Data.Amount.Should().Be(100); instance.Data.IsPaid.Should().BeTrue(); }