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>()); }
static void Main(string[] args) { IOrder Order = new OrderBread(); Console.WriteLine(Order.Prepare()); Console.WriteLine(Order.CalculateCost().ToString()); Order = new OrderDrinks(new OrderChicken(new OrderBread())); Console.WriteLine(Order.Prepare()); Console.WriteLine(Order.CalculateCost().ToString()); }
public void AddDrinks(OrderDrinks command) { if (_isOpen) { Apply(new DrinksOrdered { Id = Guid.NewGuid(), AggregateId = command.AggregateId, OrderItems = command.OrderItems }); } }
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>(); }