public Dispatcher(ICommandSender commandSender, IDomainCommandSender domainCommandSender, IEventPublisher eventPublisher, IQueryProcessor queryProcessor, IBusMessageDispatcher busMessageDispatcher) { _commandSender = commandSender; _domainCommandSender = domainCommandSender; _eventPublisher = eventPublisher; _queryProcessor = queryProcessor; _busMessageDispatcher = busMessageDispatcher; }
public void Send_NotPublishesEvents_WhenSetInOptions() { _optionsMock .Setup(x => x.Value) .Returns(new Options { PublishEvents = false }); _sut = new DomainCommandSender(_handlerResolver.Object, _eventPublisher.Object, _eventFactory.Object, _aggregateStore.Object, _commandStore.Object, _eventStore.Object, _optionsMock.Object); _sut.Send <CreateAggregate, Aggregate>(_createAggregate); _eventPublisher.Verify(x => x.Publish(_aggregateCreatedConcrete), Times.Never); }
public void SetUp() { _createSomething = new CreateSomething(); _somethingCreated = new SomethingCreated(); _somethingCreatedConcrete = new SomethingCreated(); _events = new List <IEvent> { _somethingCreated }; _createAggregate = new CreateAggregate(); _aggregateCreatedConcrete = new AggregateCreated(); _aggregate = new Aggregate(); _aggregateCreated = (AggregateCreated)_aggregate.Events[0]; _eventPublisher = new Mock <IEventPublisher>(); _eventPublisher .Setup(x => x.Publish(_somethingCreatedConcrete)); _eventPublisher .Setup(x => x.Publish(_aggregateCreatedConcrete)); _eventStore = new Mock <IEventStore>(); _eventStore .Setup(x => x.SaveEvent <Aggregate>(_aggregateCreatedConcrete, null)); _commandStore = new Mock <ICommandStore>(); _commandStore .Setup(x => x.SaveCommand <Aggregate>(_createAggregate)); _aggregateStore = new Mock <IAggregateStore>(); _aggregateStore .Setup(x => x.SaveAggregate <Aggregate>(_createAggregate.AggregateRootId)); _eventFactory = new Mock <IEventFactory>(); _eventFactory .Setup(x => x.CreateConcreteEvent(_somethingCreated)) .Returns(_somethingCreatedConcrete); _eventFactory .Setup(x => x.CreateConcreteEvent(_aggregateCreated)) .Returns(_aggregateCreatedConcrete); _commandHandler = new Mock <ICommandHandler <CreateSomething> >(); _commandHandler .Setup(x => x.Handle(_createSomething)) .Returns(_events); _domainCommandHandler = new Mock <IDomainCommandHandler <CreateAggregate> >(); _domainCommandHandler .Setup(x => x.Handle(_createAggregate)) .Returns(_aggregate.Events); _handlerResolver = new Mock <IHandlerResolver>(); _handlerResolver .Setup(x => x.ResolveHandler <ICommandHandler <CreateSomething> >()) .Returns(_commandHandler.Object); _handlerResolver .Setup(x => x.ResolveHandler <IDomainCommandHandler <CreateAggregate> >()) .Returns(_domainCommandHandler.Object); _optionsMock = new Mock <IOptions <Options> >(); _optionsMock .Setup(x => x.Value) .Returns(new Options()); _sut = new DomainCommandSender(_handlerResolver.Object, _eventPublisher.Object, _eventFactory.Object, _aggregateStore.Object, _commandStore.Object, _eventStore.Object, _optionsMock.Object); }