Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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());
        }