Example #1
0
        public void CanPerformPagination()
        {
            //arrange
            Mock<IProductsRepository> mock = new Mock<IProductsRepository>();
            mock.Setup(m => m.Products).Returns(new Product[]
            {
                new Product{ ProductId = 1, Name = "p1"},
                new Product{ ProductId = 1, Name = "p2"},
                new Product{ ProductId = 1, Name = "p3"},
                new Product{ ProductId = 1, Name = "p4"},
                new Product{ ProductId = 1, Name = "p5"}
            }.AsQueryable());

            ProductController controller = new ProductController(mock.Object);
            controller.pageSize = 3;

            //act
            ProductsListViewModel result = (ProductsListViewModel)controller.List(2).Model;

            //assert
            Product[] prodArr = result.Products.ToArray();
            Assert.IsTrue(prodArr.Length == 2);
            Assert.AreEqual("p4", prodArr[0].Name);
            Assert.AreEqual("p5", prodArr[1].Name);
        }
Example #2
0
        public void CanSendPaginationViewModel()
        {
            //arrange
            Mock<IProductsRepository> mock = new Mock<IProductsRepository>();
            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 res = (ProductsListViewModel)controller.List(2).Model;

            //assert
            Assert.AreEqual(res.PagingInfo.CurrentPage, 2);
            Assert.AreEqual(res.PagingInfo.ItemsPerPage, 3);
            Assert.AreEqual(res.PagingInfo.TotalItems, 5);
            Assert.AreEqual(res.PagingInfo.TotalPages, 2);
        }