public async Task Create_order_command() { //Arrange's var uow = new Mock <IUnitOfWork>(); var mediator = new Mock <IMediatorHandler>(); var orderRepository = new Mock <IOrderRepository>(); var notificationHandler = new Mock <DomainNotificationHandler>(); var logger = new Mock <ILogger <CreateOrderCommand> >(); var handler = new OrdersCommandHandler(mediator.Object, notificationHandler.Object, orderRepository.Object, logger.Object); //Stub's orderRepository.SetupGet(x => x.UnitOfWork).Returns(uow.Object); var command = new CreateOrderCommand() { Address = Builder <OrderAddressMessageResponse> .CreateNew().Build(), Items = Builder <OrderItemMessageResponse> .CreateListOfSize(1).Build().ToArray(), UserId = Guid.NewGuid() }; //Act await handler.Handle(command, CancellationToken.None); //Assert's orderRepository.Verify(x => x.Save(It.Is <Order>(it => !string.IsNullOrEmpty(it.OrderNumber))), Times.Once); orderRepository.Verify(x => x.UnitOfWork.SaveEntitiesAsync(CancellationToken.None), Times.Once); mediator.Verify(x => x.RaiseEvent(It.IsAny <DomainNotification>()), Times.Never()); }
public async Task Create_order_command_Invalid_contract_items(CreateOrderCommand command) { //Arrange's var uow = new Mock <IUnitOfWork>(); var mediator = new Mock <IMediatorHandler>(); var orderRepository = new Mock <IOrderRepository>(); var notificationHandler = new Mock <DomainNotificationHandler>(); var logger = new Mock <ILogger <CreateOrderCommand> >(); var handler = new OrdersCommandHandler(mediator.Object, notificationHandler.Object, orderRepository.Object, logger.Object); //Stub's orderRepository.SetupGet(x => x.UnitOfWork).Returns(uow.Object); //Act await handler.Handle(command, CancellationToken.None); //Assert's orderRepository.Verify(x => x.Save(It.Is <Order>(it => !string.IsNullOrEmpty(it.OrderNumber))), Times.Never); orderRepository.Verify(x => x.UnitOfWork.SaveEntitiesAsync(CancellationToken.None), Times.Never); mediator.Verify(x => x.RaiseEvent(It.IsAny <DomainNotification>())); }