public when_an_event_is_received() { Bus = new InMemoryMessageBus(); var config = Bus.Configuration; var persistence = new InMemoryPersistence(config.MessageSender, config.Sagas.Storage); var repository = new Repository <InventoryItem>(new InMemoryEventStore <Guid>(persistence)); var commandHandlers = new InventoryCommandHandlers(repository); var projector = new Projector(); config.CommandHandlers.Register <CreateInventoryItem>(() => commandHandlers); config.CommandHandlers.Register <RenameInventoryItem>(() => commandHandlers); config.CommandHandlers.Register <DeactivateInventoryItem>(() => commandHandlers); config.EventReceivers.Register <InventoryItemCreated>(() => projector); config.EventReceivers.Register <InventoryItemRenamed>(() => projector); config.EventReceivers.Register <InventoryItemDeactivated>(() => projector); Products = projector.Products; Bus.Start(); }
protected ScenarioTest(ITestOutputHelper output) { this.output = output; var ignoredMessages = new List <IMessageDescriptor>(); var pendingOperations = new PendingOperations(); IgnoredMessages = ignoredMessages; var container = CreateContainer(pendingOperations, ignoredMessages); var configuration = new MessageBusConfigurationBuilder().HasServiceProvider(container).CreateConfiguration(); Bus = new InMemoryMessageBus(configuration, pendingOperations); Setup = new ScenarioBuilder(Bus); RegisterCommandHandlers(configuration); RegisterEventReceivers(configuration); RegisterSagas(configuration); Bus.Start(new MessageObserver(output)); }