public void editScore_should_throw_argument_exception_when_invalid_request() { var editScoreRequest = new EditScoreRequest { CourseId = 10, SeasonId = 1, EpisodeId = 1, NewScore = 2, PupilId = 1, QuestionId = 1 }; _teacherService.EditScore(editScoreRequest).ShouldThrow <ArgumentException>(); }
public void editScore_should_correctly_edit_score_of_pupil() { var editScoreRequest = new EditScoreRequest { CourseId = 1, SeasonId = 1, EpisodeId = 1, NewScore = 2, PupilId = 1, QuestionId = 1 }; _teacherService.EditScore(editScoreRequest); var answer = _context.PupilInCourseAnswersQuestion .Find(editScoreRequest.CourseId, editScoreRequest.PupilId, editScoreRequest.QuestionId, editScoreRequest.EpisodeId, editScoreRequest.SeasonId); answer.AchievedPoints.ShouldBe(editScoreRequest.NewScore); }
public async Task EditScore(EditScoreRequest request) { if (request == null) { throw new ArgumentNullException(); } var answers = await _questionRepository .GetAnswerByPrimaryKey(request.QuestionId, request.EpisodeId, request.SeasonId); var answer = answers.FirstOrDefault(x => x.PupilInCourseCourseId == request.CourseId && x.PupilInCoursePupilId == request.PupilId); if (answer == null) { throw new ArgumentException($"Pupil with id {request.PupilId} in course with id " + $"{request.CourseId} did not answer question with id {request.QuestionId}"); } answer.AchievedPoints = request.NewScore; await _questionRepository.UnitOfWork.SaveChangesAsync(); }
public async Task <IActionResult> EditScore(EditScoreRequest request) { await _teacherService.EditScore(request); return(Ok()); }