public async Task Report_projections_can_be_created_using_EventHandlerBase_including_dynamic_event_types() { var projector = new OrderTallyProjector(); Events.Write(1, _ => new Order.Cancelled()); Events.Write(20, _ => new Order.Fulfilled()); Events.Write(4, _ => new Order.Misdelivered()); using (var catchup = CreateReadModelCatchup(projector)) { await catchup.Run(); } using (var db = ReadModelDbContext()) { db.Set <OrderTally>() .Single(t => t.Status == "Fulfilled") .Count .Should() .Be(20); db.Set <OrderTally>() .Single(t => t.Status == "Misdelivered") .Count .Should() .Be(4); } }
public async Task Report_projections_can_be_created_using_EventHandlerBase_over_multiple_event_types() { var projector = new OrderTallyProjector(); Events.Write(20, _ => new Order.Cancelled()); Events.Write(20, _ => new Order.Delivered()); Events.Write(50, _ => new Order.Placed()); using (var catchup = CreateReadModelCatchup(projector)) { await catchup.Run(); } using (var db = ReadModelDbContext()) { db.Set <OrderTally>() .Single(t => t.Status == "Canceled") .Count .Should() .Be(20); db.Set <OrderTally>() .Single(t => t.Status == "Delivered") .Count .Should() .Be(20); db.Set <OrderTally>() .Single(t => t.Status == "Pending") .Count .Should() .Be(10); } }