public async void Task_GetItems_Return_OkResult()
        {
            //Arrange
            var controller = new TeaInventoryController(repository);

            //Act
            var data = await controller.GetItems();

            //Assert
            Assert.IsType <OkObjectResult>(data.Result);
        }
        public async void Task_GetItemsById_Return_BadRequestResult()
        {
            //Arrange
            var controller = new TeaInventoryController(repository);
            int?teaId      = null;

            //Act
            var data = await controller.GetItemsById(teaId);

            //Assert
            Assert.IsType <BadRequestResult>(data.Result);
        }
        public async void Task_GetItemsById_Return_NotFoundResult()
        {
            //Arrange
            var controller = new TeaInventoryController(repository);
            var teaId      = 30;

            //Act
            var data = await controller.GetItemsById(teaId);

            //Assert
            Assert.IsType <NotFoundResult>(data.Result);
        }
        public async void Task_Delete_Item_Return_OkResult()
        {
            //Arrange
            var controller = new TeaInventoryController(repository);
            var teaId      = 2;

            //Act
            var data = await controller.DeleteItems(teaId);

            //Assert
            Assert.IsType <OkResult>(data.Result);
        }
        public async void Task_Add_ValidData_Return_OkResult()
        {
            //Arrange
            var controller   = new TeaInventoryController(repository);
            var teaInventory = new TeaInventory()
            {
                TeaName = "Test Title 3", TeaDescription = "Test Description 3", TeaPrice = "2", CreatedDate = DateTime.Now
            };

            //Act
            var data = await controller.AddItems(teaInventory);

            //Assert
            Assert.IsType <OkObjectResult>(data.Result);
        }
        public async void Task_Add_InvalidData_Return_BadRequest()
        {
            //Arrange
            var controller   = new TeaInventoryController(repository);
            var teaInventory = new TeaInventory()
            {
                TeaId = 0, TeaName = "Test Invalid Title", TeaDescription = "Test Description", TeaPrice = "25", CreatedDate = DateTime.Now
            };

            teaInventory.TeaId /= 0;
            //Act
            var data = await controller.AddItems(teaInventory);

            //Assert
            Assert.IsType <BadRequestResult>(data.Result);
        }
        public async void Task_GetItems_Return_BadRequestResult()
        {
            //Arrange
            var controller = new TeaInventoryController(repository);

            //Act
            var data = await controller.GetItems();

            data = null;

            if (data != null)
            {
                //Assert
                Assert.IsType <BadRequestResult>(data.Result);
            }
        }
        public async void Task_GetItemsById_MatchResult()
        {
            //Arrange
            var controller = new TeaInventoryController(repository);
            int?teaId      = 1;

            //Act
            var data = await controller.GetItemsById(teaId);

            //Assert
            Assert.IsType <OkObjectResult>(data.Result);

            var okResult = data.Result.Should().BeOfType <OkObjectResult>().Subject;
            var tea      = okResult.Value.Should().BeAssignableTo <TeaInventory>().Subject;

            Assert.Equal("Orange Juice", tea.TeaName);
            Assert.Equal("Orange Tree", tea.TeaDescription);
        }
        public async void Task_Add_ValidData_MatchResult()
        {
            //Arrange
            var controller   = new TeaInventoryController(repository);
            var teaInventory = new TeaInventory()
            {
                TeaName = "Valid Test Title ", TeaDescription = "Valid Test Description", TeaPrice = "92", CreatedDate = DateTime.Now
            };

            //Act
            var data = await controller.AddItems(teaInventory);

            //Assert
            Assert.IsType <OkObjectResult>(data.Result);

            var okResult = data.Result.Should().BeOfType <OkObjectResult>().Subject;

            // var result = okResult.Value.Should().BeAssignableTo<PostViewModel>().Subject;

            Assert.Equal(6, okResult.Value);
        }