public void ListActionLoads()
        {
            //Arrange
            Mock<IPizzaRepository> mock = new Mock<IPizzaRepository>();
            PizzaController controller = new PizzaController(mock.Object, null);

            //Action
            ViewResult result = controller.List() as ViewResult;

            //Assert
            Assert.AreEqual(result.ViewName, "");
        }
        public void CanCreateMenu()
        {
            //Arrange
            Mock<IPizzaRepository> mock = new Mock<IPizzaRepository>();
            mock.Setup(m => m.Pizzas).Returns(new Pizza[]{
                new Pizza { PizzaId = 1, Name = "Pizza1", Status = "Available"},
                new Pizza { PizzaId = 2, Name = "Pizza2", Status = "Available"}
            }.AsQueryable());

            PizzaController controller = new PizzaController(mock.Object, null);

            //Action
            Pizza[] results = ((PizzaListViewModel)controller.List().Model).Pizzas.ToArray();

            //Assert
            Assert.AreEqual(results.Length, 2);
        }
        public void CanFilterPizzaByStatus()
        {
            //Arrange
            Mock<IPizzaRepository> mock = new Mock<IPizzaRepository>();
            mock.Setup(m => m.Pizzas).Returns(new Pizza[]{
                new Pizza { PizzaId = 1, Name = "Pizza1", Status = "Available"},
                new Pizza { PizzaId = 2, Name = "Pizza2", Status = "NotAvailable"}
            }.AsQueryable());

            PizzaController controller = new PizzaController(mock.Object, null);

            //Action
            Pizza[] result = ((PizzaListViewModel)controller.List().Model).Pizzas.ToArray();

            //Assert
            Assert.AreEqual(result.Length, 1);
            Assert.IsTrue(result[0].Name == "Pizza1" && result[0].Status == "Available");
        }