public void Can_Send_Pagination_View_Model() { //布置——创建模仿存储库 Mock<IRoleInfoRepository> mock = new Mock<IRoleInfoRepository>(); mock.Setup(m => m.RolesInfo).Returns(new RoleInfo[]{ //使用Setup更改RolesInfo的结果,不适用DI,而是用后续的Return返回结果 new RoleInfo{RoleID = new Guid(), RoleName = "R1",RoleEN="REN1"}, new RoleInfo{RoleID = new Guid(), RoleName = "R2",RoleEN="REN2"}, new RoleInfo{RoleID = new Guid(), RoleName = "R3",RoleEN="REN3"}, new RoleInfo{RoleID = new Guid(), RoleName = "R4",RoleEN="REN4"}, new RoleInfo{RoleID = new Guid(), RoleName = "R5",RoleEN="REN5"}, new RoleInfo{RoleID = new Guid(), RoleName = "R6",RoleEN="REN6"} }.AsQueryable()); //布置——创建一个控制器,设置页面大小为3 RolesController controller = new RolesController(mock.Object) { PageSize = 3 }; //动作 RolesInfoViewModel result = (RolesInfoViewModel)controller.List(2).Model; //断言 PagingInfo pageInfo = result.pagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 6); Assert.AreEqual(pageInfo.TotalPage, 2); }
public void Can_Paginate() { //布置 //——创建模仿存储库 Mock<IRoleInfoRepository> mock = new Mock<IRoleInfoRepository>(); mock.Setup(m => m.RolesInfo).Returns(new RoleInfo[]{ //使用Setup更改RolesInfo的结果,不适用DI,而是用后续的Return返回结果 new RoleInfo{RoleID = new Guid(), RoleName = "R1",RoleEN="REN1"}, new RoleInfo{RoleID = new Guid(), RoleName = "R2",RoleEN="REN2"}, new RoleInfo{RoleID = new Guid(), RoleName = "R3",RoleEN="REN3"}, new RoleInfo{RoleID = new Guid(), RoleName = "R4",RoleEN="REN4"}, new RoleInfo{RoleID = new Guid(), RoleName = "R5",RoleEN="REN5"}, new RoleInfo{RoleID = new Guid(), RoleName = "R6",RoleEN="REN6"} }.AsQueryable()); RolesController controller = new RolesController(mock.Object); controller.PageSize = 3; //动作 RolesInfoViewModel result = (RolesInfoViewModel)controller.List(2).Model; //断言 RoleInfo[] roleArray = result.RolesInfo.ToArray(); Assert.IsTrue(roleArray.Length == 3); Assert.AreEqual(roleArray[0].RoleName, "R4"); Assert.AreEqual(roleArray[1].RoleName, "R5"); }