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); }
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"]); } }
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); }
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"); }
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); }