public void when_project_then_all_views_are_projected_to(InventoryItemCreated msg) { var listView = new InventoryListView(); var detailView = new InventoryItemDetailView(); var projector = new EventProjector(listView, detailView, logger); projector.Project(msg); Assert.Single(listView.Repository); Assert.Single(detailView.Repository); }
public void SetUp() { _streamConsumer.Setup(consumer => consumer.ConsumeAsync("my-event", It.IsAny <ConsumerOptions>())) .Returns(GetFakeAsyncStream); var services = new ServiceCollection(); services.AddLogging(); services.AddSingleton <IEventApplier <MyEvent>, MyEventApplier>(); services.AddSingleton <ITopicNamingConvention, KebabCaseTopicNamingConvention>(); services.AddSingleton(_streamConsumer.Object); var sp = services.BuildServiceProvider(); _eventProjector = new EventProjector <MyEvent>( sp.GetRequiredService <IStreamConsumer>(), sp.GetRequiredService <ITopicNamingConvention>(), sp.GetRequiredService <IEnumerable <IEventApplier <MyEvent> > >(), _log.Object); }