Esempio n. 1
0
        public void OnGetAsync_PopulatesThePageModel_WithAListOfUsersSortedByUserName()
        {
            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>()
                                 .UseInMemoryDatabase(nameof(Olimp2019));

            var mockAppDbContext = new Mock <ApplicationDbContext>(optionsBuilder.Options);

            var expectedUsers = Users;

            mockAppDbContext.Setup(
                db => db.GetUsersAsync()).Returns(Task.FromResult(expectedUsers));

            var pageModel = new ReportUsersModel(mockAppDbContext.Object);

            pageModel.OnGet();

            var actualUsers = Assert.IsAssignableFrom <List <UserReportItemViewModel> >(pageModel.FullReport);

            Assert.Equal(
                expectedUsers.OrderBy(m => m.UserName).Select(m => m.FullName),
                actualUsers.Select(m => m.FullName));
        }
Esempio n. 2
0
        public ActionResult Users(string sort = "lastname_asc", bool ordersOnly = false, int page = 1, int pageSize = 10)
        {
            ValidateUsersArgs(sort, page, pageSize);

            var model = new ReportUsersModel {
                Sort = sort, OrdersOnly = ordersOnly, Page = page, PageSize = pageSize, SortItems = UserSortItems
            };

            string where = ordersOnly ? "OrderCount > 0" : null;
            var users = ArtContext.Users.Paged(out model.TotalRows, where : where, orderBy: sort.Replace("_", " "), page: page, pageSize: pageSize);

            model.Items = Mapper.Map <IEnumerable <User>, IEnumerable <ReportUserModel> >(users);

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_Users", model));
            }
            else
            {
                return(View(model));
            }
        }