From 75e3455b5aef8f4f7616c328521736996fd037bf Mon Sep 17 00:00:00 2001 From: Ryan Smith <3045513+ryansmith94@users.noreply.github.com> Date: Thu, 2 Aug 2018 17:14:35 +0100 Subject: [PATCH] fix: Improves statements for quiz questions. (#220) --- .../mod_quiz/question_answered/essay.php | 6 ++--- .../mod_quiz/question_answered/gapselect.php | 9 +++++--- .../mod_quiz/question_answered/match.php | 19 +++++++++++++--- .../question_answered/multichoice.php | 9 +++++--- .../mod_quiz/question_answered/numerical.php | 9 +++++--- .../question_answered/randomsamatch.php | 18 +++++++++++++-- .../question_answered/shortanswer.php | 6 ++--- .../mod_quiz/question_answered/truefalse.php | 9 +++++--- .../utils/get_quiz_question_id.php | 22 +++++++++++++++++++ .../attempt_submitted/essay/data.json | 4 ++-- .../attempt_submitted/essay/statements.json | 2 +- .../attempt_submitted/gapselect/data.json | 1 - .../gapselect/statements.json | 11 ++++++++-- .../attempt_submitted/match/data.json | 4 ++-- .../attempt_submitted/match/statements.json | 13 ++++++++--- .../attempt_submitted/multichoice/data.json | 4 ++-- .../multichoice/statements.json | 7 ++++-- .../attempt_submitted/numerical/data.json | 4 ++-- .../numerical/statements.json | 7 ++++-- .../attempt_submitted/randomsamatch/data.json | 4 ++-- .../randomsamatch/statements.json | 12 +++++++--- .../attempt_submitted/shortanswer/data.json | 4 ++-- .../shortanswer/statements.json | 2 +- .../attempt_submitted/truefalse/data.json | 4 ++-- .../truefalse/statements.json | 7 ++++-- .../attempt_submitted/unknown_qtype/data.json | 4 ++-- 26 files changed, 145 insertions(+), 56 deletions(-) create mode 100644 src/transformer/utils/get_quiz_question_id.php diff --git a/src/transformer/events/mod_quiz/question_answered/essay.php b/src/transformer/events/mod_quiz/question_answered/essay.php index 267d23b..62bb5f4 100644 --- a/src/transformer/events/mod_quiz/question_answered/essay.php +++ b/src/transformer/events/mod_quiz/question_answered/essay.php @@ -38,11 +38,11 @@ function essay(array $config, \stdClass $event, \stdClass $questionattempt, \std ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ - $lang => $questionattempt->questionsummary, + $lang => $question->questiontext, ], 'interactionType' => 'long-fill-in', ] diff --git a/src/transformer/events/mod_quiz/question_answered/gapselect.php b/src/transformer/events/mod_quiz/question_answered/gapselect.php index f3beea9..083fed3 100644 --- a/src/transformer/events/mod_quiz/question_answered/gapselect.php +++ b/src/transformer/events/mod_quiz/question_answered/gapselect.php @@ -25,10 +25,10 @@ function gapselect(array $config, \stdClass $event, \stdClass $questionattempt, $user = $repo->read_record_by_id('user', $event->relateduserid); $course = $repo->read_record_by_id('course', $event->courseid); $attempt = $repo->read_record_by_id('quiz_attempts', $questionattempt->questionusageid); - $question = $repo->read_record_by_id('question', $questionattempt->questionid); $quiz = $repo->read_record_by_id('quiz', $attempt->quiz); $coursemodule = $repo->read_record_by_id('course_modules', $event->contextinstanceid); $lang = utils\get_course_lang($course); + $selections = explode('} {', rtrim(ltrim($questionattempt->responsesummary, '{'), '}')); return [[ 'actor' => utils\get_user($config, $user), @@ -39,9 +39,9 @@ function gapselect(array $config, \stdClass $event, \stdClass $questionattempt, ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ $lang => $question->questiontext, ], @@ -53,6 +53,9 @@ function gapselect(array $config, \stdClass $event, \stdClass $questionattempt, 'response' => $questionattempt->responsesummary, 'completion' => $questionattempt->responsesummary !== null, 'success' => $questionattempt->rightanswer === $questionattempt->responsesummary, + 'extensions' => [ + 'http://learninglocker.net/xapi/cmi/sequencing/response' => $selections, + ], ], 'context' => [ 'platform' => $config['source_name'], diff --git a/src/transformer/events/mod_quiz/question_answered/match.php b/src/transformer/events/mod_quiz/question_answered/match.php index cc33567..dfcc7d9 100644 --- a/src/transformer/events/mod_quiz/question_answered/match.php +++ b/src/transformer/events/mod_quiz/question_answered/match.php @@ -25,10 +25,20 @@ function match(array $config, \stdClass $event, \stdClass $questionattempt, \std $user = $repo->read_record_by_id('user', $event->relateduserid); $course = $repo->read_record_by_id('course', $event->courseid); $attempt = $repo->read_record_by_id('quiz_attempts', $questionattempt->questionusageid); - $question = $repo->read_record_by_id('question', $questionattempt->questionid); $quiz = $repo->read_record_by_id('quiz', $attempt->quiz); $coursemodule = $repo->read_record_by_id('course_modules', $event->contextinstanceid); $lang = utils\get_course_lang($course); + $selections = array_reduce( + explode('; ', $questionattempt->responsesummary), + function ($reduction, $selection) { + $split = explode("\n -> ", $selection); + $selectionkey = $split[0]; + $selectionvalue = $split[1]; + $reduction[$selectionkey] = $selectionvalue; + return $reduction; + }, + [] + ); return [[ 'actor' => utils\get_user($config, $user), @@ -39,9 +49,9 @@ function match(array $config, \stdClass $event, \stdClass $questionattempt, \std ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ $lang => $question->questiontext, ], @@ -53,6 +63,9 @@ function match(array $config, \stdClass $event, \stdClass $questionattempt, \std 'response' => $questionattempt->responsesummary, 'completion' => $questionattempt->responsesummary !== null, 'success' => $questionattempt->rightanswer === $questionattempt->responsesummary, + 'extensions' => [ + 'http://learninglocker.net/xapi/cmi/matching/response' => $selections, + ], ], 'context' => [ 'platform' => $config['source_name'], diff --git a/src/transformer/events/mod_quiz/question_answered/multichoice.php b/src/transformer/events/mod_quiz/question_answered/multichoice.php index 7079107..793170b 100644 --- a/src/transformer/events/mod_quiz/question_answered/multichoice.php +++ b/src/transformer/events/mod_quiz/question_answered/multichoice.php @@ -38,11 +38,11 @@ function multichoice(array $config, \stdClass $event, \stdClass $questionattempt ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ - $lang => $questionattempt->questionsummary, + $lang => $question->questiontext, ], 'interactionType' => 'choice', ] @@ -51,6 +51,9 @@ function multichoice(array $config, \stdClass $event, \stdClass $questionattempt 'result' => [ 'response' => $questionattempt->responsesummary, 'completion' => $questionattempt->responsesummary !== '', + 'extensions' => [ + 'http://learninglocker.net/xapi/cmi/choice/response' => $questionattempt->responsesummary, + ], ], 'context' => [ 'platform' => $config['source_name'], diff --git a/src/transformer/events/mod_quiz/question_answered/numerical.php b/src/transformer/events/mod_quiz/question_answered/numerical.php index 768408d..4f86bc7 100644 --- a/src/transformer/events/mod_quiz/question_answered/numerical.php +++ b/src/transformer/events/mod_quiz/question_answered/numerical.php @@ -38,11 +38,11 @@ function numerical(array $config, \stdClass $event, \stdClass $questionattempt, ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ - $lang => $questionattempt->questionsummary, + $lang => $question->questiontext, ], 'interactionType' => 'numeric', ] @@ -52,6 +52,9 @@ function numerical(array $config, \stdClass $event, \stdClass $questionattempt, 'response' => $questionattempt->responsesummary, 'completion' => $questionattempt->responsesummary !== '', 'success' => $questionattempt->rightanswer === $questionattempt->responsesummary, + 'extensions' => [ + 'http://learninglocker.net/xapi/cmi/numeric/response' => floatval($questionattempt->responsesummary), + ], ], 'context' => [ 'platform' => $config['source_name'], diff --git a/src/transformer/events/mod_quiz/question_answered/randomsamatch.php b/src/transformer/events/mod_quiz/question_answered/randomsamatch.php index 0bba155..0d427a7 100644 --- a/src/transformer/events/mod_quiz/question_answered/randomsamatch.php +++ b/src/transformer/events/mod_quiz/question_answered/randomsamatch.php @@ -28,6 +28,17 @@ function randomsamatch(array $config, \stdClass $event, \stdClass $questionattem $quiz = $repo->read_record_by_id('quiz', $attempt->quiz); $coursemodule = $repo->read_record_by_id('course_modules', $event->contextinstanceid); $lang = utils\get_course_lang($course); + $selections = array_reduce( + explode('; ', $questionattempt->responsesummary), + function ($reduction, $selection) { + $split = explode("\n -> ", $selection); + $selectionkey = $split[0]; + $selectionvalue = $split[1]; + $reduction[$selectionkey] = $selectionvalue; + return $reduction; + }, + [] + ); return [[ 'actor' => utils\get_user($config, $user), @@ -38,9 +49,9 @@ function randomsamatch(array $config, \stdClass $event, \stdClass $questionattem ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ $lang => $question->questiontext, ], @@ -52,6 +63,9 @@ function randomsamatch(array $config, \stdClass $event, \stdClass $questionattem 'response' => $questionattempt->responsesummary, 'completion' => $questionattempt->responsesummary !== '', 'success' => $questionattempt->rightanswer === $questionattempt->responsesummary, + 'extensions' => [ + 'http://learninglocker.net/xapi/cmi/matching/response' => $selections, + ], ], 'context' => [ 'platform' => $config['source_name'], diff --git a/src/transformer/events/mod_quiz/question_answered/shortanswer.php b/src/transformer/events/mod_quiz/question_answered/shortanswer.php index 0ccbddd..fab3245 100644 --- a/src/transformer/events/mod_quiz/question_answered/shortanswer.php +++ b/src/transformer/events/mod_quiz/question_answered/shortanswer.php @@ -38,11 +38,11 @@ function shortanswer(array $config, \stdClass $event, \stdClass $questionattempt ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ - $lang => $questionattempt->questionsummary, + $lang => $question->questiontext, ], 'interactionType' => 'fill-in', ] diff --git a/src/transformer/events/mod_quiz/question_answered/truefalse.php b/src/transformer/events/mod_quiz/question_answered/truefalse.php index 535b7e3..affc24d 100644 --- a/src/transformer/events/mod_quiz/question_answered/truefalse.php +++ b/src/transformer/events/mod_quiz/question_answered/truefalse.php @@ -38,11 +38,11 @@ function truefalse(array $config, \stdClass $event, \stdClass $questionattempt, ], ], 'object' => [ - 'id' => $config['app_url'].'/question/question.php?cmid='.$coursemodule->id.'&id='.$question->id, + 'id' => utils\get_quiz_question_id($config, $coursemodule->id, $question->id), 'definition' => [ - 'type' => 'http://adlnet.gov/expapi/activities/question', + 'type' => 'http://adlnet.gov/expapi/activities/cmi.interaction', 'name' => [ - $lang => $questionattempt->questionsummary, + $lang => $question->questiontext, ], 'interactionType' => 'true-false', ] @@ -52,6 +52,9 @@ function truefalse(array $config, \stdClass $event, \stdClass $questionattempt, 'response' => $questionattempt->responsesummary, 'completion' => $questionattempt->responsesummary !== null, 'success' => $questionattempt->rightanswer === $questionattempt->responsesummary, + 'extensions' => [ + 'http://learninglocker.net/xapi/cmi/true-false/response' => $questionattempt->responsesummary === 'True', + ], ], 'context' => [ 'platform' => $config['source_name'], diff --git a/src/transformer/utils/get_quiz_question_id.php b/src/transformer/utils/get_quiz_question_id.php new file mode 100644 index 0000000..08708ba --- /dev/null +++ b/src/transformer/utils/get_quiz_question_id.php @@ -0,0 +1,22 @@ +<?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. + +namespace src\transformer\utils; +defined('MOODLE_INTERNAL') || die(); + +function get_quiz_question_id(array $config, $coursemoduleid, $questionid) { + return $config['app_url'].'/question/question.php?cmid='.$coursemoduleid.'&id='.$questionid; +} diff --git a/tests/mod_quiz/attempt_submitted/essay/data.json b/tests/mod_quiz/attempt_submitted/essay/data.json index fe47969..6ff3e26 100644 --- a/tests/mod_quiz/attempt_submitted/essay/data.json +++ b/tests/mod_quiz/attempt_submitted/essay/data.json @@ -52,14 +52,14 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "test_question", "responsesummary": "test_answer" } ], "question": [ { "id": 1, - "qtype": "essay" + "qtype": "essay", + "questiontext": "test_question" } ] } \ No newline at end of file diff --git a/tests/mod_quiz/attempt_submitted/essay/statements.json b/tests/mod_quiz/attempt_submitted/essay/statements.json index a89664c..614c564 100644 --- a/tests/mod_quiz/attempt_submitted/essay/statements.json +++ b/tests/mod_quiz/attempt_submitted/essay/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "test_question" }, diff --git a/tests/mod_quiz/attempt_submitted/gapselect/data.json b/tests/mod_quiz/attempt_submitted/gapselect/data.json index 4d3195e..d0563a5 100644 --- a/tests/mod_quiz/attempt_submitted/gapselect/data.json +++ b/tests/mod_quiz/attempt_submitted/gapselect/data.json @@ -52,7 +52,6 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "Example [[1]] missing [[2]] words [[3]]\n; [[1]] -> {spicy / mango / milkshake}", "rightanswer": "{spicy} {mango} {milkshake}", "responsesummary": "{spicy} {mango} {milkshake}" } diff --git a/tests/mod_quiz/attempt_submitted/gapselect/statements.json b/tests/mod_quiz/attempt_submitted/gapselect/statements.json index a392781..d466359 100644 --- a/tests/mod_quiz/attempt_submitted/gapselect/statements.json +++ b/tests/mod_quiz/attempt_submitted/gapselect/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "<p>Example [[1]] missing [[2]] words [[3]]<\/p>" }, @@ -119,7 +119,14 @@ "result": { "response": "{spicy} {mango} {milkshake}", "completion": true, - "success": true + "success": true, + "extensions": { + "http:\/\/learninglocker.net\/xapi\/cmi\/sequencing\/response": [ + "spicy", + "mango", + "milkshake" + ] + } }, "context": { "platform": "Moodle", diff --git a/tests/mod_quiz/attempt_submitted/match/data.json b/tests/mod_quiz/attempt_submitted/match/data.json index 72c7d5e..32f8b7d 100644 --- a/tests/mod_quiz/attempt_submitted/match/data.json +++ b/tests/mod_quiz/attempt_submitted/match/data.json @@ -52,8 +52,8 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "responsesummary": "Red\n-> Green; Blue\n-> Orange; Black\n-> White", - "rightanswer": "Red\n-> Green; Blue\n-> Orange; Black\n-> White" + "responsesummary": "Red\n -> Green; Blue\n -> Orange; Black\n -> White", + "rightanswer": "Red\n -> Green; Blue\n -> Orange; Black\n -> White" } ], "question": [ diff --git a/tests/mod_quiz/attempt_submitted/match/statements.json b/tests/mod_quiz/attempt_submitted/match/statements.json index 5732df5..6fdeee5 100644 --- a/tests/mod_quiz/attempt_submitted/match/statements.json +++ b/tests/mod_quiz/attempt_submitted/match/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "test_question" }, @@ -117,9 +117,16 @@ }, "timestamp": "2015-06-10T15:31:41+01:00", "result": { - "response": "Red\n-> Green; Blue\n-> Orange; Black\n-> White", + "response": "Red\n -> Green; Blue\n -> Orange; Black\n -> White", "completion": true, - "success": true + "success": true, + "extensions": { + "http:\/\/learninglocker.net\/xapi\/cmi\/matching\/response": { + "Red": "Green", + "Blue": "Orange", + "Black": "White" + } + } }, "context": { "platform": "Moodle", diff --git a/tests/mod_quiz/attempt_submitted/multichoice/data.json b/tests/mod_quiz/attempt_submitted/multichoice/data.json index e6201eb..e9846f9 100644 --- a/tests/mod_quiz/attempt_submitted/multichoice/data.json +++ b/tests/mod_quiz/attempt_submitted/multichoice/data.json @@ -52,14 +52,14 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "test_question", "responsesummary": "test_answer" } ], "question": [ { "id": 1, - "qtype": "multichoice" + "qtype": "multichoice", + "questiontext": "test_question" } ] } \ No newline at end of file diff --git a/tests/mod_quiz/attempt_submitted/multichoice/statements.json b/tests/mod_quiz/attempt_submitted/multichoice/statements.json index 2c41eba..27c8e94 100644 --- a/tests/mod_quiz/attempt_submitted/multichoice/statements.json +++ b/tests/mod_quiz/attempt_submitted/multichoice/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "test_question" }, @@ -118,7 +118,10 @@ "timestamp": "2015-06-10T15:31:41+01:00", "result": { "response": "test_answer", - "completion": true + "completion": true, + "extensions": { + "http:\/\/learninglocker.net\/xapi\/cmi\/choice\/response": "test_answer" + } }, "context": { "platform": "Moodle", diff --git a/tests/mod_quiz/attempt_submitted/numerical/data.json b/tests/mod_quiz/attempt_submitted/numerical/data.json index 44f713f..060c62a 100644 --- a/tests/mod_quiz/attempt_submitted/numerical/data.json +++ b/tests/mod_quiz/attempt_submitted/numerical/data.json @@ -52,7 +52,6 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "test_question", "responsesummary": "1", "rightanswer": "1" } @@ -60,7 +59,8 @@ "question": [ { "id": 1, - "qtype": "numerical" + "qtype": "numerical", + "questiontext": "test_question" } ] } \ No newline at end of file diff --git a/tests/mod_quiz/attempt_submitted/numerical/statements.json b/tests/mod_quiz/attempt_submitted/numerical/statements.json index d0367e3..dc0344a 100644 --- a/tests/mod_quiz/attempt_submitted/numerical/statements.json +++ b/tests/mod_quiz/attempt_submitted/numerical/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "test_question" }, @@ -119,7 +119,10 @@ "result": { "response": "1", "completion": true, - "success": true + "success": true, + "extensions": { + "http:\/\/learninglocker.net\/xapi\/cmi\/numeric\/response": 1 + } }, "context": { "platform": "Moodle", diff --git a/tests/mod_quiz/attempt_submitted/randomsamatch/data.json b/tests/mod_quiz/attempt_submitted/randomsamatch/data.json index 9df9bf3..54b1b51 100644 --- a/tests/mod_quiz/attempt_submitted/randomsamatch/data.json +++ b/tests/mod_quiz/attempt_submitted/randomsamatch/data.json @@ -52,8 +52,8 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "rightanswer": "Example short answer question\n-> orange; Testing testing\n-> Purple", - "responsesummary": "Example short answer question\n-> orange; Testing testing\n-> Purple" + "rightanswer": "Example short answer question\n -> orange; Testing testing\n -> Purple", + "responsesummary": "Example short answer question\n -> orange; Testing testing\n -> Purple" } ], "question": [ diff --git a/tests/mod_quiz/attempt_submitted/randomsamatch/statements.json b/tests/mod_quiz/attempt_submitted/randomsamatch/statements.json index 1076801..c8a2cf5 100644 --- a/tests/mod_quiz/attempt_submitted/randomsamatch/statements.json +++ b/tests/mod_quiz/attempt_submitted/randomsamatch/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "<p>Example Random short-answer matching question<br><\/p>" }, @@ -117,9 +117,15 @@ }, "timestamp": "2015-06-10T15:31:41+01:00", "result": { - "response": "Example short answer question\n-> orange; Testing testing\n-> Purple", + "response": "Example short answer question\n -> orange; Testing testing\n -> Purple", "completion": true, - "success": true + "success": true, + "extensions": { + "http:\/\/learninglocker.net\/xapi\/cmi\/matching\/response": { + "Example short answer question": "orange", + "Testing testing": "Purple" + } + } }, "context": { "platform": "Moodle", diff --git a/tests/mod_quiz/attempt_submitted/shortanswer/data.json b/tests/mod_quiz/attempt_submitted/shortanswer/data.json index 5cdcd1d..e0e9542 100644 --- a/tests/mod_quiz/attempt_submitted/shortanswer/data.json +++ b/tests/mod_quiz/attempt_submitted/shortanswer/data.json @@ -52,14 +52,14 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "test_question", "responsesummary": "test_answer" } ], "question": [ { "id": 1, - "qtype": "shortanswer" + "qtype": "shortanswer", + "questiontext": "test_question" } ] } \ No newline at end of file diff --git a/tests/mod_quiz/attempt_submitted/shortanswer/statements.json b/tests/mod_quiz/attempt_submitted/shortanswer/statements.json index c441f0b..3b3b8ca 100644 --- a/tests/mod_quiz/attempt_submitted/shortanswer/statements.json +++ b/tests/mod_quiz/attempt_submitted/shortanswer/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "test_question" }, diff --git a/tests/mod_quiz/attempt_submitted/truefalse/data.json b/tests/mod_quiz/attempt_submitted/truefalse/data.json index 8b78de3..1bdfa62 100644 --- a/tests/mod_quiz/attempt_submitted/truefalse/data.json +++ b/tests/mod_quiz/attempt_submitted/truefalse/data.json @@ -52,7 +52,6 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "test_question", "responsesummary": "True", "rightanswer": "True" } @@ -60,7 +59,8 @@ "question": [ { "id": 1, - "qtype": "truefalse" + "qtype": "truefalse", + "questiontext": "test_question" } ] } \ No newline at end of file diff --git a/tests/mod_quiz/attempt_submitted/truefalse/statements.json b/tests/mod_quiz/attempt_submitted/truefalse/statements.json index 0fcf21a..f1ba5dc 100644 --- a/tests/mod_quiz/attempt_submitted/truefalse/statements.json +++ b/tests/mod_quiz/attempt_submitted/truefalse/statements.json @@ -108,7 +108,7 @@ "object": { "id": "http:\/\/www.example.org\/question\/question.php?cmid=1&id=1", "definition": { - "type": "http:\/\/adlnet.gov\/expapi\/activities\/question", + "type": "http:\/\/adlnet.gov\/expapi\/activities\/cmi.interaction", "name": { "en": "test_question" }, @@ -119,7 +119,10 @@ "result": { "response": "True", "completion": true, - "success": true + "success": true, + "extensions": { + "http:\/\/learninglocker.net\/xapi\/cmi\/true-false\/response": true + } }, "context": { "platform": "Moodle", diff --git a/tests/mod_quiz/attempt_submitted/unknown_qtype/data.json b/tests/mod_quiz/attempt_submitted/unknown_qtype/data.json index 7bb8469..2a92a27 100644 --- a/tests/mod_quiz/attempt_submitted/unknown_qtype/data.json +++ b/tests/mod_quiz/attempt_submitted/unknown_qtype/data.json @@ -52,14 +52,14 @@ "id": 1, "questionusageid": 1, "questionid": 1, - "questionsummary": "test_question", "responsesummary": "test_answer" } ], "question": [ { "id": 1, - "qtype": "unknown" + "qtype": "unknown", + "questiontext": "test_question" } ] } \ No newline at end of file -- GitLab