public async Task GivenAFittingDate_WhenGetTotalBuysIsCalled_ThenItemsRepositoryAndOrdersRepositoryBothAreCalled()
        {
            //Arrange
            var orderItems = GetSampleOrderItems();
            var orders     = GetSampleOrders();

            _mockOrderRepository.Setup(x => x.Find(It.IsAny <DateTime>())).ReturnsAsync(orders);
            _mockOrderItemsRepository.Setup(x => x.GetOrderItems()).ReturnsAsync(orderItems);
            _orderItemsService = new OrderItemsService(_mockOrderItemsRepository.Object, _mockOrderRepository.Object);

            //Act
            await _orderItemsService.GetTotalBuys(It.IsAny <DateTime>());

            //Assert
            _mockOrderItemsRepository.Verify(x => x.GetOrderItems(), Times.AtLeast(1));
            _mockOrderRepository.Verify(x => x.Find(It.IsAny <DateTime>()), Times.AtLeast(1));
        }
        public async Task GivenAFittingDate_WhenGetTotalBuysIsCalled_ThenReturnTotalPriceFortheDay()
        {
            //Arrange
            var orderItems      = GetSampleOrderItems();
            var ordersForTheDay = GetSampleOrders();

            _mockOrderRepository.Setup(x => x.Find(It.IsAny <DateTime>())).ReturnsAsync(ordersForTheDay);
            _mockOrderItemsRepository.Setup(x => x.GetOrderItems()).ReturnsAsync(orderItems);
            _orderItemsService = new OrderItemsService(_mockOrderItemsRepository.Object, _mockOrderRepository.Object);

            //Act
            var result = await _orderItemsService.GetTotalBuys(new DateTime(2018, 5, 12));

            //Assert
            Assert.IsInstanceOf <decimal>(result);
            Assert.AreEqual(300, result);
        }
        public Task <decimal> GetTotalBuys(DateTime dateTime)
        {
            var result = _orderItemsService.GetTotalBuys(dateTime);

            return(result);
        }