public void Indicates_Selected_Category()
        {
            var mock = new Mock<IProductRepository>();
            mock.Setup(m => m.Products).Returns(new[]
            {
                new Product {ProductID = 1, Name = "P1", ProductCategory  =new ProductCategory{Name = "A"}},
                 new Product {ProductID = 4, Name = "P1", ProductCategory  =new ProductCategory{Name = "O"}},
            }.AsQueryable());

            var target = new NavController(mock.Object);

            var categoryToSelect = "A";//определение выбранной категории
            var result = target.Menu(categoryToSelect).ViewBag.SelectedCategory;

            Assert.AreEqual(categoryToSelect, result);
        }
Exemple #2
0
        public void Can_Create_Categories()
        {
            var mock = new Mock<IProductRepository>();
            mock.Setup(m => m.Products).Returns(new[]
            {
                new Product {ProductID = 1, Name = "p1", Category = "cat1"},
                new Product {ProductID = 2, Name = "p2", Category = "cat1"},
                new Product {ProductID = 3, Name = "p3", Category = "cat2"},
                new Product {ProductID = 4, Name = "p4", Category = "cat3"}
            }.AsQueryable());
            var controller = new NavController(mock.Object);

            var results = ((IEnumerable<string>) controller.Menu().Model).ToArray();

            Assert.AreEqual(results.Length, 3);
            Assert.AreEqual(results[0], "cat1");
            Assert.AreEqual(results[1], "cat2");
            Assert.AreEqual(results[2], "cat3");
        }
        public void Highlights_Current_Category()
        {
            // Arrange: Product repository with a couple of categories
            IQueryable<Product> products = new[] {
                new Product { Name = "A", Category = "Animal" },
                new Product { Name = "B", Category = "Vegetable" },
            }.AsQueryable();
            var mockProductsRepos = new Moq.Mock<IProductsRepository>();
            mockProductsRepos.Setup(x => x.Products).Returns(products);
            var controller = new NavController(mockProductsRepos.Object);

            // Act
            var result = controller.Menu("Vegetable");

            // Assert
            var highlightedLinks = ((IEnumerable<NavLink>)result.ViewData.Model)
                                     .Where(x => x.IsSelected).ToList();
            Assert.AreEqual(1, highlightedLinks.Count);
            Assert.AreEqual("Vegetable", highlightedLinks[0].Text);
        }
        public void Can_Create_Categories()
        {
            var mock = new Mock<IProductRepository>();
            mock.Setup(m => m.Products).Returns(new[]
            {
                new Product
                {
                    ProductID = 1,
                    Name = "P1",
                    ProductCategory = new ProductCategory {Name = "A"}
                },
                new Product
                {
                    ProductID = 1,
                    Name = "P2",
                    ProductCategory = new ProductCategory {Name = "A"}
                },
                new Product
                {
                    ProductID = 1,
                    Name = "P3",
                    ProductCategory = new ProductCategory {Name = "P"}
                },
                new Product
                {
                    ProductID = 1,
                    Name = "P4",
                    ProductCategory = new ProductCategory {Name = "O"}
                }
            }.AsQueryable());

            var tagret = new NavController(mock.Object);

            var result = ((IEnumerable<string>)tagret.Menu().Model).ToArray();

            Assert.AreEqual(result.Length, 3);
            Assert.AreEqual(result[0], "A");
            Assert.AreEqual(result[1], "O");
            Assert.AreEqual(result[2], "P");
        }
        public void Produces_Home_Plus_NavLink_Object_For_Each_Distinct_Category()
        {
            // Arrange: Product repository with a few categories
            IQueryable<Product> products = new [] {
                new Product { Name = "A", Category = "Animal" },
                new Product { Name = "B", Category = "Vegetable" },
                new Product { Name = "C", Category = "Mineral" },
                new Product { Name = "D", Category = "Vegetable" },
                new Product { Name = "E", Category = "Animal" }
            }.AsQueryable();
            var mockProductsRepos = new Moq.Mock<IProductsRepository>();
            mockProductsRepos.Setup(x => x.Products).Returns(products);
            var controller = new NavController(mockProductsRepos.Object);

            // Act: Call the Menu() action
            ViewResult result = controller.Menu(null);

            // Assert: Check it rendered one NavLink per category
            // (in alphabetical order)
            var links = ((IEnumerable<NavLink>)result.ViewData.Model).ToList();
            Assert.IsEmpty(result.ViewName); // Should render default view
            Assert.AreEqual(4, links.Count);
            Assert.AreEqual("Home", links[0].Text);
            Assert.AreEqual("Animal", links[1].Text);
            Assert.AreEqual("Mineral", links[2].Text);
            Assert.AreEqual("Vegetable", links[3].Text);
            foreach (var link in links)
            {
                Assert.AreEqual("Products", link.RouteValues["controller"]);
                Assert.AreEqual("List", link.RouteValues["action"]);
                Assert.AreEqual(1, link.RouteValues["page"]);
                if (links.IndexOf(link) == 0) // is this the "Home" link?
                    Assert.IsNull(link.RouteValues["category"]);
                else
                    Assert.AreEqual(link.Text, link.RouteValues["category"]);
            }
        }
Exemple #6
0
        public void Indicates_Selected_Category()
        {
            var mock = new Mock<IProductRepository>();
            mock.Setup(m => m.Products).Returns(new[]
            {
                new Product {ProductID = 1, Name = "p1", Category = "cat1"},
                new Product {ProductID = 4, Name = "p2", Category = "cat2"}
            }.AsQueryable());
            var controller = new NavController(mock.Object);
            string categoryToSelect = "cat1";

            string result = controller.Menu(categoryToSelect).ViewBag.SelectedCategory;

            Assert.AreEqual(categoryToSelect, result);
        }
        public void Indicates_Selected_Category()
        {
            Mock<IProductRepository> mock = new Mock<IProductRepository>();
            mock.Setup(p => p.Products).Returns(new Product[]
            {
                new Product {ProductID = 1, Name = "P1", Category = "Apples"},
                new Product {ProductID = 4, Name = "P2", Category = "Oranges"}
            }.AsQueryable());

            NavController target = new NavController(mock.Object);

            string categorySelected = "Apples";

            string result = target.Menu(categorySelected).ViewBag.SelectedCategory;

            Assert.AreEqual(categorySelected,result);
        }
Exemple #8
0
        public void Can_Create_Categories()
        {
            var mock = new Mock<IProductRepository>();
            mock.Setup(m => m.Products).Returns(new Product[]
                {
                    new Product {ProductID = 1, Name = "P1", Category = "Apples"},
                    new Product {ProductID = 2, Name = "P2", Category = "Apples"},
                    new Product {ProductID = 3, Name = "P3", Category = "Plums"},
                    new Product {ProductID = 4, Name = "P4", Category = "Oranges"}
                }.AsQueryable);

            var target = new NavController(mock.Object);

            var results = ((IEnumerable<string>) target.Menu().Model).ToArray();

            Assert.AreEqual(results.Length, 3);
            Assert.AreEqual(results[0], "Apples");
            Assert.AreEqual(results[1], "Oranges");
            Assert.AreEqual(results[2], "Plums");
        }
Exemple #9
0
        public void Indicates_Selected_Category()
        {
            var mock = new Mock<IProductRepository>();
            mock.Setup(m => m.Products).Returns(new Product[]
                {
                    new Product {ProductID = 1, Name = "P1", Category = "Apples"},
                    new Product {ProductID = 4, Name = "P4", Category = "Oranges"}
                }.AsQueryable);

            var target = new NavController(mock.Object);

            // определние выбранной категории
            const string categoryToSelect = "Apples";

            var result = target.Menu(categoryToSelect).ViewBag.SelectedCategory;

            Assert.AreEqual(categoryToSelect, result);
        }