public async Task QueryUserComments() { var userName = "******"; var user = TestHelper.SetPrincipal(userName); var cmd = new CreateCommentCommand(1, null, "My pillow looks like jello").SetUserContext(user); var x = await cmd.Execute(); VoatAssert.IsValid(x); var q = new QueryUserComments(userName, SearchOptions.Default).SetUserContext(user); var r = await q.ExecuteAsync(); Assert.AreEqual(true, r.Any(w => w.Content == "My pillow looks like jello")); }
public async Task QueryUserComments_Anon() { var userName = "******"; var user = TestHelper.SetPrincipal(userName); var cmd = new CreateCommentCommand(2, null, "You can never know I said this: Bollocks").SetUserContext(user); var x = await cmd.Execute(); VoatAssert.IsValid(x); var q = new QueryUserComments(userName, SearchOptions.Default); var r = await q.ExecuteAsync(); Assert.AreEqual(false, r.Any(w => w.Content == "You can never know I said this: Bollocks")); }
public async Task <ActionResult> Comments(string userName, int?page = null) { if (page.HasValue && page.Value < 0) { return(ErrorView(ErrorViewModel.GetErrorViewModel(ErrorType.NotFound))); } var originalUserName = UserHelper.OriginalUsername(userName); if (String.IsNullOrEmpty(originalUserName)) { return(ErrorView(ErrorViewModel.GetErrorViewModel(ErrorType.NotFound))); } ViewBag.UserName = originalUserName; //if user is accesing their own comments, increase max page size to 100, else use default int?maxPages = (originalUserName == User.Identity.Name ? 100 : (int?)null); var q = new QueryUserComments(userName, new Data.SearchOptions(maxPages) { Page = page ?? 0, Sort = Domain.Models.SortAlgorithm.New, }); var comments = await q.ExecuteAsync(); //var userComments = from c in _db.Comments.OrderByDescending(c => c.CreationDate) // where c.UserName.Equals(originalUserName) // && !c.IsAnonymized // && !c.IsDeleted // //&& !c.Submission.Subverse1.IsAnonymized //Don't think we need this condition // select c; var paged = new PaginatedList <Domain.Models.SubmissionComment>(comments, page ?? 0, PAGE_SIZE, -1); ViewBag.NavigationViewModel = new NavigationViewModel() { MenuType = MenuType.UserProfile, Name = originalUserName, BasePath = "/user/" + originalUserName, Description = originalUserName + "'s Comments", }; ViewBag.RobotIndexing = Domain.Models.RobotIndexing.None; return(View(paged)); }