public ActionResult <List <ArrangeTaskContainerEvaluationDTO> > SubmitArrangeTask( [FromBody] ArrangeTaskSubmissionDTO submission) { var evaluation = _submissionService.EvaluateArrangeTask(_mapper.Map <ArrangeTaskSubmission>(submission)); if (evaluation == null) { return(NotFound()); } return(Ok(_mapper.Map <List <ArrangeTaskContainerEvaluationDTO> >(evaluation))); }
public void Accepts_arrange_task_submission_and_produces_correct_evaluation(ArrangeTaskSubmissionDTO submission, bool expectedCorrectness) { using var scope = _factory.Services.CreateScope(); var controller = new SubmissionController(_factory.Services.GetRequiredService <IMapper>(), scope.ServiceProvider.GetRequiredService <ISubmissionService>()); var dbContext = scope.ServiceProvider.GetRequiredService <SmartTutorContext>(); controller.SubmitArrangeTask(submission); var actualSubmission = dbContext.ArrangeTaskSubmissions.OrderBy(s => s.TimeStamp).Last(a => a.ArrangeTaskId == submission.ArrangeTaskId); actualSubmission.IsCorrect.ShouldBe(expectedCorrectness); }
public void Rejects_bad_arrange_task_submission() { using var scope = _factory.Services.CreateScope(); var controller = new SubmissionController(_factory.Services.GetRequiredService <IMapper>(), scope.ServiceProvider.GetRequiredService <ISubmissionService>()); var submission = new ArrangeTaskSubmissionDTO { ArrangeTaskId = 32, LearnerId = 1, Containers = new List <ArrangeTaskContainerDTO> { new ArrangeTaskContainerDTO { Id = 1, Elements = new List <ArrangeTaskElementDTO> { new ArrangeTaskElementDTO { Id = 1 } } } } }; Should.Throw <InvalidOperationException>(() => controller.SubmitArrangeTask(submission)); }