示例#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));
        }
        public async Task <IActionResult> UpdateContest([FromRoute] Guid id, [FromBody] CreateOrUpdateContestRequest request)
        {
            Guid.TryParse(User.FindFirst("id")?.Value, out var userId);

            var updatedContest = await _contestService.UpdateContestAsync(id, userId, request);

            if (updatedContest != null)
            {
                return(Ok(_mapper.Map <ContestShortResponse>(updatedContest)));
            }
            return(NotFound());
        }