public async Task UpdateCartItem_WhenValidCartItemIsPassed_ReturnsOkResult()
        {
            //Arrange
            var moq = new Mock <IBookAsCartItemService>();

            Category category = new Category()
            {
                CategoryId   = 1,
                CategoryName = "Novel"
            };

            //create a new book
            Book book = new Book()
            {
                Id = 1,

                Title = "Jerry's Success Story",

                Author = "James x",

                CategoryId = 1,

                Category = category,

                ISBN = 1234567890,

                Price = 15,

                DateOfPublication = "2018-06-03"
            };

            BookAsCartItemDTO cartItem = new BookAsCartItemDTO()
            {
                Id = 1,

                Book = book,

                Price = 15,

                Quantity = 4
            };

            moq.Setup(r => r.EditCartItem(cartItem));

            //Act
            var controller = new BookAsCartItemController(moq.Object);

            var ok_Result = await controller.UpdateCartItem(cartItem);

            //Assert
            Assert.IsType <OkObjectResult>(ok_Result);
        }
        public async Task UpdateCartItem_WhenNullIsPassed_ReturnsNotFound()
        {
            //Arrange
            var moq = new Mock <IBookAsCartItemService>();

            moq.Setup(t => t.EditCartItem(null));

            //Act
            var controller = new BookAsCartItemController(moq.Object);

            var result = await controller.UpdateCartItem(null);

            //Assert
            Assert.IsType <NotFoundResult>(result);
        }