public void Generate_Category_Specific_Product_Count() { var mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new[] { new Product {ProductID = 1, Name = "P1", ProductCategory = new ProductCategory{Name = "Cat1"}}, new Product {ProductID = 2, Name = "P2", ProductCategory = new ProductCategory{Name = "Cat2"}}, new Product {ProductID = 3, Name = "P3", ProductCategory = new ProductCategory{Name = "Cat1"}}, new Product {ProductID = 4, Name = "P4", ProductCategory = new ProductCategory{Name = "Cat2"}}, new Product {ProductID = 5, Name = "P5", ProductCategory = new ProductCategory{Name = "Cat3"}} }.AsQueryable()); var tagret = new ProductController(mock.Object) { PageSize = 3 }; //тестирование счетчиков товаров для различных категорий var res1 = ((ProductsListViewModel)tagret.List(null,null,null,null,null,null,null,"Cat1").Model).PagingInfo.TotalItems; var res2 = ((ProductsListViewModel)tagret.List(null, null, null, null, null, null, null, "Cat2").Model).PagingInfo.TotalItems; var res3 = ((ProductsListViewModel)tagret.List(null, null, null, null, null, null, null, "Cat3").Model).PagingInfo.TotalItems; var resAll = ((ProductsListViewModel)tagret.List(null, null, null, null, null, null, null, null).Model).PagingInfo.TotalItems; // Assert.AreEqual(res1, 2); Assert.AreEqual(res2, 2); Assert.AreEqual(res3, 1); Assert.AreEqual(resAll, 5); }
public void Can_Filter_Products() { //Arrange 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 = "cat2"}, new Product {ProductID = 3, Name = "p3", Category = "cat1"}, new Product {ProductID = 4, Name = "p4", Category = "cat2"}, new Product {ProductID = 5, Name = "p5", Category = "cat3"} }.AsQueryable()); var controller = new ProductController(mock.Object){PageSize = 3}; //Act var result = ((ProductsListViewModel) controller.List("cat2", 1).Model).Products.ToArray(); //Assert Assert.AreEqual(result.Length,2); Assert.IsTrue(result[0].Name == "p2" && result[0].Category == "cat2"); Assert.IsTrue(result[1].Name == "p4" && result[1].Category == "cat2"); }
public void Can_Filter_Products() { var mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new[] { new Product {ProductID = 1, Name = "P1", ProductCategory = new ProductCategory{Name = "Cat1"}}, new Product {ProductID = 2, Name = "P2", ProductCategory = new ProductCategory{Name = "Cat2"}}, new Product {ProductID = 3, Name = "P3", ProductCategory = new ProductCategory{Name = "Cat1"}}, new Product {ProductID = 4, Name = "P4", ProductCategory = new ProductCategory{Name = "Cat2"}}, new Product {ProductID = 5, Name = "P5", ProductCategory = new ProductCategory{Name = "Cat3"}} }.AsQueryable()); var controller = new ProductController(mock.Object) { PageSize = 3 }; var result = ((ProductsListViewModel)controller.List(null, null, null, null, null, null, null, "Cat2", 1).Model).Products.ToArray(); Assert.AreEqual(result.Length, 2); Assert.IsTrue(result[0].Name == "P2" && result[0].ProductCategory.Name == "Cat2"); Assert.IsTrue(result[1].Name == "P4" && result[1].ProductCategory.Name == "Cat2"); }
public void Can_Pagination() { // Arrange Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }.AsQueryable()); ProductController controller = new ProductController(mock.Object); controller.PageSize = 3; // Act IEnumerable<Product> result = (IEnumerable<Product>)controller.List(2).Model; // Assert Product[] prodArray = result.ToArray(); Assert.IsTrue(prodArray.Length == 2); Assert.AreEqual(prodArray[0].Name, "P4"); Assert.AreEqual(prodArray[1].Name, "P5"); }
public void Can_Paginate() { var mosk = new Mock<IProductRepository>(); mosk.Setup(m => m.Products).Returns(new[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }.AsQueryable); var controller = new ProductController(mosk.Object) { PageSize = 3 }; var result = (ProductsListViewModel)controller.List(null, null, null, null, null, null, null, null, 1).Model; var prodArray = result.Products.ToArray(); Assert.IsTrue(prodArray.Length == 3); Assert.AreEqual(prodArray[0].Name, "P1"); Assert.AreEqual(prodArray[1].Name, "P2"); Assert.AreEqual(prodArray[2].Name, "P3"); }
public void Can_Paginate() { // przygotowanie Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }); ProductController controller = new ProductController(mock.Object); controller.PageSize = 3; // działanie ProductsListViewModel result = (ProductsListViewModel)controller.List(2).Model; // asercje Product[] prodArray = result.Products.ToArray(); Assert.IsTrue(prodArray.Length == 2); Assert.AreEqual(prodArray[0].Name, "P4"); Assert.AreEqual(prodArray[1].Name, "P5"); }
public void Can_filter() { //Assert Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1",Category = "Cat1"}, new Product {ProductID = 2, Name = "P2",Category = "Cat2"}, new Product {ProductID = 3, Name = "P3",Category = "Cat2"}, new Product {ProductID = 4, Name = "P4",Category = "Cat1"}, new Product {ProductID = 5, Name = "P5",Category = "Cat1"} }.AsQueryable()); ; ProductController controller = new ProductController(mock.Object); controller.PageSize = 3; //Act Product[] result = ((ProductsListViewModel)controller.List("Cat2", 1).Model).Products.ToArray(); //Arrange Assert.AreEqual(result.Length,2); Assert.AreEqual(result[0].Name,"P2"); Assert.AreEqual(result[1].Name,"P3"); }
public void Can_Send_Pagination_View_Model() { //создание имитированного хранилища var mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new[] { new Product {ProductID = 1, Name = "p1"}, new Product {ProductID = 2, Name = "p2"}, new Product {ProductID = 3, Name = "p3"}, new Product {ProductID = 4, Name = "p4"}, new Product {ProductID = 5, Name = "p5"} }.AsQueryable()); //создание контроллера и установка размера var controller = new ProductController(mock.Object) { PageSize = 3 }; //действие var result = (ProductsListViewModel)controller.List(null, null, null, null, null, null, null, null, 1).Model; // утверждение var pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 1); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 5); Assert.AreEqual(pageInfo.TotalPages, 2); }
public void Can_Paginate() { //Arrange Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new[] { new Product {ProductID = 1, Name = "p1"}, new Product {ProductID = 2, Name = "p2"}, new Product {ProductID = 3, Name = "p3"}, new Product {ProductID = 4, Name = "p4"}, new Product {ProductID = 5, Name = "p5"} }.AsQueryable()); ProductController controller = new ProductController(mock.Object) {PageSize = 3}; //Act var result = (ProductsListViewModel) controller.List(null, 2).Model; //Assert var prodArray = result.Products.ToArray(); Assert.IsTrue(prodArray.Length == 2); Assert.AreEqual(prodArray[0].Name, "p4"); Assert.AreEqual(prodArray[1].Name, "p5"); }
public void Generate_Category_Specific_Product_Count() { 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 = "cat2"}, new Product {ProductID = 3, Name = "p3", Category = "cat1"}, new Product {ProductID = 4, Name = "p4", Category = "cat2"}, new Product {ProductID = 5, Name = "p5", Category = "cat3"} }.AsQueryable()); var target = new ProductController(mock.Object) {PageSize = 3}; int r1 = ((ProductsListViewModel) target.List("cat1").Model).PagingInfo.TotalItems; int r2 = ((ProductsListViewModel)target.List("cat2").Model).PagingInfo.TotalItems; int r3 = ((ProductsListViewModel)target.List("cat3").Model).PagingInfo.TotalItems; int rAll = ((ProductsListViewModel)target.List(null).Model).PagingInfo.TotalItems; Assert.AreEqual(r1, 2); Assert.AreEqual(r2, 2); Assert.AreEqual(r3, 1); Assert.AreEqual(rAll, 5); }
public void Can_Send_Pagination_View_Model() { //Arrange var mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new[] { new Product {ProductID = 1, Name = "p1"}, new Product {ProductID = 2, Name = "p2"}, new Product {ProductID = 3, Name = "p3"}, new Product {ProductID = 4, Name = "p4"}, new Product {ProductID = 5, Name = "p5"} }.AsQueryable()); var controller = new ProductController(mock.Object) {PageSize = 3}; //Act var result = (ProductsListViewModel) controller.List(null, 2).Model; //Assert var pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 5); Assert.AreEqual(pageInfo.TotalPages, 2); }
public void Can_Send_Pagination_View_Model() { // przygotowanie Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }); // przygotowanie ProductController controller = new ProductController(mock.Object); controller.PageSize = 3; // działanie ProductsListViewModel result = (ProductsListViewModel)controller.List(2).Model; // asercje PagingInfo pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 5); Assert.AreEqual(pageInfo.TotalPages, 2); }
public void Generate_Category_Specific_Product_Count() { Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1", Category = "Cat1"}, new Product {ProductID = 2, Name = "P2", Category = "Cat2"}, new Product {ProductID = 3, Name = "P3", Category = "Cat1"}, new Product {ProductID = 4, Name = "P4", Category = "Cat2"}, new Product {ProductID = 5, Name = "P5", Category = "Cat3"} }.AsQueryable()); ProductController target = new ProductController(mock.Object); target.PageSize = 3; int res1 = ((ProductsListViewModel) target.List("Cat1").Model).PagingInfo.TotalItems; int res2 = ((ProductsListViewModel)target.List("Cat2").Model).PagingInfo.TotalItems; int res3 = ((ProductsListViewModel)target.List(null).Model).PagingInfo.TotalItems; Assert.AreEqual(res1, 2); Assert.AreEqual(res2, 2); Assert.AreEqual(res3, 5); }
public void PagingInfo_Correct_page() { //Arrange Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }.AsQueryable()); ProductController controller = new ProductController(mock.Object); controller.PageSize = 3; //Act ProductsListViewModel model = (ProductsListViewModel)controller.List(null,2).Model; //Assert Assert.AreEqual(2,model.PagingInfo.CurrentPage); Assert.AreEqual(5, model.PagingInfo.TotalItems); Assert.AreEqual(3, model.PagingInfo.ItemsPerPage); Assert.AreEqual(2, model.PagingInfo.TotalPages); }
public void Can_Send_Pagination_View_Model() { var mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }.AsQueryable); // Создание контроллера и установка размере страницы равным трем позициям var controller = new ProductController(mock.Object) { PageSize = 3 }; // Действие var result = (ProductListViewModel) controller.List(null,2).Model; //Утверждение var pagingInfo = result.PagingInfo; Assert.AreEqual(pagingInfo.CurrentPage, 2); Assert.AreEqual(pagingInfo.ItemsPerPage,3); Assert.AreEqual(pagingInfo.TotalItems, 5); Assert.AreEqual(pagingInfo.TotalPages, 2); }
public void Can_Paginate() { // Создание имитированного хранилища var mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, new Product {ProductID = 4, Name = "P4"}, new Product {ProductID = 5, Name = "P5"} }.AsQueryable); // Создание контроллера и установка размера страницы равным трем позициям var controller = new ProductController(mock.Object) { PageSize = 3 }; // Действие var result = (ProductListViewModel)controller.List(null,2).Model; // Утверждение var prodArray = result.Products.ToArray(); Assert.IsTrue(prodArray.Length == 2); Assert.AreEqual(prodArray[0].Name, "P4"); Assert.AreEqual(prodArray[1].Name, "P5"); }