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