public async Task ModifyAsync() { var adminId = (await UserUtils.GetAdmin()).Id; var stuId = (await UserUtils.GetStudent()).Id; var problem = new Problem { Name = Guid.NewGuid().ToString(), UserId = adminId }; var id = await service.CreateProblemAsync(problem); Assert.AreNotEqual(0, id); var studentResult = await service.QueryProblemAsync(stuId); Assert.IsTrue(studentResult.Any(i => i.Id == id && i.Name == problem.Name)); var newName = Guid.NewGuid().ToString(); problem.Name = newName; await service.UpdateProblemAsync(problem); studentResult = await service.QueryProblemAsync(stuId); Assert.IsTrue(studentResult.Any(i => i.Id == id && i.Name == problem.Name)); await service.RemoveProblemAsync(id); studentResult = await service.QueryProblemAsync(stuId); Assert.IsFalse(studentResult.Any(i => i.Id == id)); }
public async Task UpvoteProblemTest() { var adminId = (await UserUtils.GetAdmin()).Id; var stuId = (await UserUtils.GetStudent()).Id; var pubId = await problemService.CreateProblemAsync(new Data.Problem { Name = Guid.NewGuid().ToString(), UserId = adminId }); Assert.AreNotEqual(0, pubId); Assert.IsTrue(await voteService.UpvoteProblemAsync(stuId, pubId)); var result = await problemService.GetProblemAsync(pubId); Assert.AreEqual(1, result?.Upvote); Assert.IsFalse(await voteService.UpvoteProblemAsync(stuId, pubId)); Assert.IsFalse(await voteService.DownvoteProblemAsync(stuId, pubId)); }
public async Task ConfigAsync() { var adminId = (await UserUtils.GetAdmin()).Id; var stuId = (await UserUtils.GetStudent()).Id; var contest = new Data.Contest { Name = Guid.NewGuid().ToString(), UserId = adminId }; var cid = await contestService.CreateContestAsync(contest); Assert.AreNotEqual(0, cid); var problem = new Data.Problem { Name = Guid.NewGuid().ToString(), UserId = adminId }; var pid = await problemService.CreateProblemAsync(problem); Assert.AreNotEqual(0, pid); await contestService.UpdateContestProblemAsync(cid, new[] { pid, pid }); var result = await problemService.QueryProblemAsync(stuId, cid); Assert.IsTrue(result /*.Cacheable()*/.Count(i => i.Id == pid) == 1); await contestService.UpdateContestProblemAsync(cid, new int[0]); result = await problemService.QueryProblemAsync(stuId, cid); Assert.IsFalse(result /*.Cacheable()*/.Any()); }