Exemplo n.º 1
0
        public ViewResult List(int page = 1)
        {
            var aspNetGroupsListViewModel = new AspNetGroupsListViewModel();

            aspNetGroupsListViewModel.AspNetGroups = identity.GetAspNetGroups(page, PageSize);

            aspNetGroupsListViewModel.PagingInfo = new PagingInfo
            {
                CurrentPage  = page,
                ItemsPerPage = PageSize,
                TotalItems   = identity.GetAspNetGroupsCount()
            };

            return(View(aspNetGroupsListViewModel));
        }
        public void AspNetGroups_Can_Send_Pagination()
        {
            // Arrange
            Mock <ILogger <AspNetGroupsController> > mockLogger = new Mock <ILogger <AspNetGroupsController> >();
            Mock <IIdentityRepository> mockIdentityRepository   = new Mock <IIdentityRepository>();

            mockIdentityRepository.Setup(m => m.GetAspNetGroups).Returns((new AspNetGroup[] {
                new AspNetGroup {
                    GroupId = 1, Name = "G1", Description = "G1", Active = true
                },
                new AspNetGroup {
                    GroupId = 2, Name = "G2", Description = "G2", Active = true
                },
                new AspNetGroup {
                    GroupId = 3, Name = "G3", Description = "G3", Active = true
                },
                new AspNetGroup {
                    GroupId = 4, Name = "G4", Description = "G4", Active = true
                },
                new AspNetGroup {
                    GroupId = 5, Name = "G5", Description = "G5", Active = true
                }
            }).AsQueryable <AspNetGroup>());

            AspNetGroupsController controller = new AspNetGroupsController(mockLogger.Object, mockIdentityRepository.Object);

            controller.PageSize = 3;

            // Act
            AspNetGroupsListViewModel result = controller.List(2).ViewData.Model as AspNetGroupsListViewModel;

            // Assert
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(2, pageInfo.CurrentPage);
            Assert.AreEqual(3, pageInfo.ItemsPerPage);
            Assert.AreEqual(5, pageInfo.TotalItems);
            Assert.AreEqual(2, pageInfo.TotalPages);
        }
        public void AspNetGroups_Can_Paginate()
        {
            // Arrange
            Mock <ILogger <AspNetGroupsController> > mockLogger = new Mock <ILogger <AspNetGroupsController> >();
            Mock <IIdentityRepository> mockIdentityRepository   = new Mock <IIdentityRepository>();

            mockIdentityRepository.Setup(m => m.GetAspNetGroups).Returns((new AspNetGroup[] {
                new AspNetGroup {
                    GroupId = 1, Name = "G1", Description = "G1", Active = true
                },
                new AspNetGroup {
                    GroupId = 2, Name = "G2", Description = "G2", Active = true
                },
                new AspNetGroup {
                    GroupId = 3, Name = "G3", Description = "G3", Active = true
                },
                new AspNetGroup {
                    GroupId = 4, Name = "G4", Description = "G4", Active = true
                },
                new AspNetGroup {
                    GroupId = 5, Name = "G5", Description = "G5", Active = true
                }
            }).AsQueryable <AspNetGroup>());

            AspNetGroupsController controller = new AspNetGroupsController(mockLogger.Object, mockIdentityRepository.Object);

            controller.PageSize = 3;

            // Act
            AspNetGroupsListViewModel result = controller.List(2).ViewData.Model as AspNetGroupsListViewModel;

            // Assert
            AspNetGroup[] AspNetGroupArray = result.AspNetGroups.ToArray();
            Assert.IsTrue(AspNetGroupArray.Length == 2);
            Assert.AreEqual("G4", AspNetGroupArray[0].Name);
            Assert.AreEqual("G5", AspNetGroupArray[1].Name);
        }