public void GetList_NoItems_ReturnsView()
        {
            // Arrange
            var fruitRepositoryMock = new Mock <IFruitRepository>();
            var list = new List <Fruit>();

            fruitRepositoryMock.Setup(x => x.GetAll()).ReturnsAsync(list);
            var controller = new FruitsController(fruitRepositoryMock.Object);

            // Act
            var result = controller.Index().Result;

            // Assert
            Assert.IsType <ViewResult>(result);
        }
        public void ViewList_SingleItemInList_ReturnsViewWithSingleItem()
        {
            // Arrange
            var fruitRepositoryMock = new Mock <IFruitRepository>();
            var list = new List <Fruit>();

            list.Add(new Fruit {
                Id = 1, Color = Color.Red, Name = "Apple", Price = 2.99m, Rating = 5, Description = "An apple"
            });
            fruitRepositoryMock.Setup(x => x.GetAll()).ReturnsAsync(list);
            var controller = new FruitsController(fruitRepositoryMock.Object);

            // Act
            var result        = controller.Index().Result;
            var viewModelList = (List <Fruit>)((ViewResult)result).Model;

            // Assert
            Assert.IsType <ViewResult>(result);
            Assert.Single(viewModelList);
        }