From 3629dd90aa7c21260f1568c23f7380ccf8aa918e Mon Sep 17 00:00:00 2001 From: Julius Putra Tanu Setiaji Date: Sat, 25 Aug 2018 00:28:02 +0800 Subject: [PATCH] Add solution field to GradingController.show --- lib/cadet_web/controllers/grading_controller.ex | 9 ++++++++- lib/cadet_web/views/grading_view.ex | 1 + test/cadet_web/controllers/grading_controller_test.exs | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/cadet_web/controllers/grading_controller.ex b/lib/cadet_web/controllers/grading_controller.ex index eb95beb23..af14d6f08 100644 --- a/lib/cadet_web/controllers/grading_controller.ex +++ b/lib/cadet_web/controllers/grading_controller.ex @@ -160,7 +160,8 @@ defmodule CadetWeb.GradingController do GradingInfo: swagger_schema do description( - "A list of questions with submitted answers and previous grading info if available" + "A list of questions with submitted answers, solution and previous grading info " <> + "if available" ) type(:array) @@ -171,6 +172,12 @@ defmodule CadetWeb.GradingController do question(Schema.ref(:Question)) grade(Schema.ref(:Grade)) + solution( + :string, + "the marking scheme and model solution to this question. Only available for programming questions", + required: true + ) + maxGrade( :integer, "the max grade that can be given to this question", diff --git a/lib/cadet_web/views/grading_view.ex b/lib/cadet_web/views/grading_view.ex index 647791a48..7f82f6863 100644 --- a/lib/cadet_web/views/grading_view.ex +++ b/lib/cadet_web/views/grading_view.ex @@ -35,6 +35,7 @@ defmodule CadetWeb.GradingView do &1.answer["code"] || &1.answer["choice_id"] ), maxGrade: & &1.question.max_grade, + solution: &(&1.question.question["solution"] || ""), grade: &transform_map_for_view(&1, [:grade, :adjustment, :comment]) }) end diff --git a/test/cadet_web/controllers/grading_controller_test.exs b/test/cadet_web/controllers/grading_controller_test.exs index 401c34b6d..ec27f2ed8 100644 --- a/test/cadet_web/controllers/grading_controller_test.exs +++ b/test/cadet_web/controllers/grading_controller_test.exs @@ -144,6 +144,7 @@ defmodule CadetWeb.GradingControllerTest do "content" => &1.question.question.content, "answer" => &1.answer.code }, + "solution" => &1.question.question.solution, "maxGrade" => &1.question.max_grade, "grade" => %{ "grade" => &1.grade, @@ -176,6 +177,7 @@ defmodule CadetWeb.GradingControllerTest do } end }, + "solution" => "", "maxGrade" => &1.question.max_grade, "grade" => %{ "grade" => &1.grade,