public void Can_Paginate() { //Setup mock.Setup(m => m.Hsuits).Returns(new List <Hsuit> { new Hsuit { Id = 1, Name = "Тестовый объект1" }, new Hsuit { Id = 2, Name = "Тестовый объект2" }, new Hsuit { Id = 3, Name = "Тестовый объект3" }, new Hsuit { Id = 4, Name = "Тестовый объект4" }, new Hsuit { Id = 5, Name = "Тестовый объект5" }, new Hsuit { Id = 6, Name = "Тестовый объект6" }, new Hsuit { Id = 7, Name = "Тестовый объект7" }, }); HsuitController controller = new HsuitController(mock.Object); controller.pageSize = 3; //Action HsuitListViewModel result = (HsuitListViewModel)controller.List(null, 2).Model; //Assert List <Hsuit> hsuits = result.Hsuits.ToList(); Assert.IsTrue(hsuits.Count == 3); Assert.AreEqual(hsuits[0].Name, "Тестовый объект4"); Assert.AreEqual(hsuits[1].Name, "Тестовый объект5"); Assert.AreEqual(hsuits[2].Name, "Тестовый объект6"); }
public void Can_Send_Pagination_View_Model() { //Arrange mock.Setup(m => m.Hsuits).Returns(new List <Hsuit> { new Hsuit { Id = 1, Name = "Тестовый объект1" }, new Hsuit { Id = 2, Name = "Тестовый объект2" }, new Hsuit { Id = 3, Name = "Тестовый объект3" }, new Hsuit { Id = 4, Name = "Тестовый объект4" }, new Hsuit { Id = 5, Name = "Тестовый объект5" }, new Hsuit { Id = 6, Name = "Тестовый объект6" }, new Hsuit { Id = 7, Name = "Тестовый объект7" }, }); HsuitController controller = new HsuitController(mock.Object); controller.pageSize = 3; //Act HsuitListViewModel result = (HsuitListViewModel)controller.List(null, 2).Model; //Assert PagingInfo pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 7); Assert.AreEqual(pageInfo.TotalPages, 3); }
public ViewResult List(string category, int page = 1) { HsuitListViewModel model = new HsuitListViewModel { Hsuits = repository. Hsuits.Where(p => category == null || p.Category == category). OrderBy(hs => hs.Id). Skip((page - 1) * pageSize). Take(pageSize), PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = pageSize, TotalItems = category == null?repository.Hsuits.Count() : repository.Hsuits.Where(m => m.Category == category).Count() }, CurrentCategory = category }; return(View(model)); }