public void When_order_drinks_command_after_open_tab_command_drinks_ordered_event_raised() { _eventRepository.GetEventsFor(_aggregateId).Returns(new List <IDomainEvent> { new TabOpened { AggregateId = _aggregateId, WaiterName = "Drew", TableNumber = 45 } }); var commandHandler = new OrderDrinksCommandHandler(_eventRepository, _messageBus); var drinksOrder = new OrderDrinks { AggregateId = _aggregateId, OrderItems = new List <OrderItem> { new OrderItem { Name = "Coke (pint)", Price = 2.0m } } }; commandHandler.Handle(drinksOrder); _messageBus.Received().RaiseEvent(Arg.Any <DrinksOrdered>()); }
public void When_order_drinks_command_raised_with_no_open_tab() { _eventRepository.GetEventsFor(_aggregateId).Returns(new List <IDomainEvent>()); var commandHandler = new OrderDrinksCommandHandler(_eventRepository, _messageBus); var drinksOrder = new OrderDrinks { AggregateId = _aggregateId, OrderItems = new List <OrderItem> { new OrderItem { Name = "Coke (pint)", Price = 2.0m } } }; Action handle = () => commandHandler.Handle(drinksOrder); handle.Should().Throw <NullAggregateException>(); }