Example #1
0
        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);
        }