Exemple #1
0
        public async Task ModifyAsync()
        {
            var adminId = (await UserUtils.GetAdmin()).Id;
            var stuId   = (await UserUtils.GetStudent()).Id;

            var contest = new Data.Contest
            {
                Name   = Guid.NewGuid().ToString(),
                UserId = adminId
            };
            var id = await contestService.CreateContestAsync(contest);

            Assert.AreNotEqual(0, id);

            var studentResult = await contestService.QueryContestAsync(stuId);

            Assert.IsTrue(studentResult.Any(i => i.Id == id && i.Name == contest.Name));

            var newName = Guid.NewGuid().ToString();

            contest.Name = newName;
            await contestService.UpdateContestAsync(contest);

            studentResult = await contestService.QueryContestAsync(stuId);

            Assert.IsTrue(studentResult /*.Cacheable()*/.Any(i => i.Id == id && i.Name == contest.Name));

            await contestService.RemoveContestAsync(id);

            studentResult = await contestService.QueryContestAsync(stuId);

            Assert.IsFalse(studentResult /*.Cacheable()*/.Any(i => i.Id == id));
        }
Exemple #2
0
        public async Task<ContestListModel> ContestList([FromBody]ContestListQueryModel model)
        {
            var userId = userManager.GetUserId(User);

            var ret = new ContestListModel();

            IQueryable<Contest> contests;

            try
            {
                contests = await (model.GroupId switch
                {
                    0 => contestService.QueryContestAsync(userId),
                    _ => contestService.QueryContestAsync(userId, model.GroupId)
                });
            }
Exemple #3
0
        public async Task ConfigAsync()
        {
            var adminId = (await UserUtils.GetAdmin()).Id;
            var stuId   = (await UserUtils.GetStudent()).Id;

            var group = new Group
            {
                Name   = Guid.NewGuid().ToString(),
                UserId = adminId
            };

            var gid = await groupService.CreateGroupAsync(group);

            Assert.AreNotEqual(0, gid);

            var contest = new Contest
            {
                Name   = Guid.NewGuid().ToString(),
                UserId = adminId
            };

            var cid = await contestService.CreateContestAsync(contest);

            Assert.AreNotEqual(0, cid);

            await groupService.UpdateGroupContestAsync(gid, new[] { cid, cid });

            var result = await contestService.QueryContestAsync(stuId, gid);

            Assert.IsTrue(result.Count(i => i.Id == cid) == 1);

            await groupService.UpdateGroupContestAsync(gid, new int[0]);

            result = await contestService.QueryContestAsync(stuId, gid);

            Assert.IsFalse(result.Any());
        }