public void Can_Paginate1() { // Arrange Mock <ITheaterRepository> mock = new Mock <ITheaterRepository>(); mock.Setup(t => t.Theaters).Returns(new Theater[] { new Theater { TheaterID = 1, TheaterName = "T1" }, new Theater { TheaterID = 2, TheaterName = "T2" }, new Theater { TheaterID = 3, TheaterName = "T3" }, new Theater { TheaterID = 4, TheaterName = "T4" }, new Theater { TheaterID = 5, TheaterName = "T5" } }); TheaterController controller = new TheaterController(mock.Object); controller.PageSize = 3; // Act TheatersListViewModel result = (TheatersListViewModel)controller.List(2).Model; // Assert Theater[] TheaterArray = result.ToArray(); Assert.IsTrue(TheaterArray.Length == 2); Assert.AreEqual(TheaterArray[0].TheaterName, "T4"); Assert.AreEqual(TheaterArray[1].TheaterName, "T5"); }
public ViewResult List(int page = 1) { TheatersListViewModel model = new TheatersListViewModel { Theaters = repository.Theaters .OrderBy(p => p.TheaterID) .Skip((page - 1) * PageSize) .Take(PageSize), PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = repository.Theaters.Count() } }; return(View(model)); }
public void Can_Send_Pagination_View_Model1() { // Arrange Mock <ITheaterRepository> mock = new Mock <ITheaterRepository>(); mock.Setup(t => t.Theaters).Returns(new Theater[] { new Theater { TheaterID = 1, TheaterName = "T1" }, new Theater { TheaterID = 2, TheaterName = "T2" }, new Theater { TheaterID = 3, TheaterName = "T3" }, new Theater { TheaterID = 4, TheaterName = "T4" }, new Theater { TheaterID = 5, TheaterName = "T5" } }); // Arrange TheaterController controller = new TheaterController(mock.Object); controller.PageSize = 3; // Act TheatersListViewModel result = (TheatersListViewModel)controller.List(2).Model; // Assert PagingInfo pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 5); Assert.AreEqual(pageInfo.TotalPages, 2); }