Línea 29... |
Línea 29... |
29 |
*
|
29 |
*
|
30 |
* @package core_backup
|
30 |
* @package core_backup
|
31 |
* @copyright 2020 Ilya Tregubov <mattp@catalyst-au.net>
|
31 |
* @copyright 2020 Ilya Tregubov <mattp@catalyst-au.net>
|
32 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
32 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
33 |
*/
|
33 |
*/
|
34 |
class quiz_restore_decode_links_test extends \advanced_testcase {
|
34 |
final class quiz_restore_decode_links_test extends \advanced_testcase {
|
Línea 35... |
Línea 35... |
35 |
|
35 |
|
36 |
/**
|
36 |
/**
|
37 |
* Test restore_decode_rule class
|
37 |
* Test restore_decode_rule class
|
38 |
*/
|
38 |
*/
|
Línea 47... |
Línea 47... |
47 |
array('format' => 'topics', 'numsections' => 3,
|
47 |
array('format' => 'topics', 'numsections' => 3,
|
48 |
'enablecompletion' => COMPLETION_ENABLED),
|
48 |
'enablecompletion' => COMPLETION_ENABLED),
|
49 |
array('createsections' => true));
|
49 |
array('createsections' => true));
|
50 |
$quiz = $generator->create_module('quiz', array(
|
50 |
$quiz = $generator->create_module('quiz', array(
|
51 |
'course' => $course->id));
|
51 |
'course' => $course->id));
|
- |
|
52 |
$qbank = $this->getDataGenerator()->create_module('qbank', ['course' => $course->id]);
|
Línea 52... |
Línea 53... |
52 |
|
53 |
|
Línea 53... |
Línea 54... |
53 |
// Create questions.
|
54 |
// Create questions.
|
54 |
|
55 |
|
55 |
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
56 |
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
56 |
$context = \context_course::instance($course->id);
|
57 |
$context = \context_module::instance($qbank->cmid);
|
Línea 57... |
Línea 58... |
57 |
$cat = $questiongenerator->create_question_category(array('contextid' => $context->id));
|
58 |
$cat = $questiongenerator->create_question_category(array('contextid' => $context->id));
|
58 |
$question = $questiongenerator->create_question('multichoice', null, array('category' => $cat->id));
|
59 |
$question = $questiongenerator->create_question('multichoice', null, array('category' => $cat->id));
|
59 |
|
60 |
|
60 |
// Add to the quiz.
|
61 |
// Add to the quiz.
|
Línea 61... |
Línea 62... |
61 |
quiz_add_quiz_question($question->id, $quiz);
|
62 |
quiz_add_quiz_question($question->id, $quiz);
|
Línea -... |
Línea 63... |
- |
|
63 |
\mod_quiz\external\submit_question_version::execute(
|
- |
|
64 |
$DB->get_field('quiz_slots', 'id', ['quizid' => $quiz->id, 'slot' => 1]), 1);
|
62 |
\mod_quiz\external\submit_question_version::execute(
|
65 |
|
63 |
$DB->get_field('quiz_slots', 'id', ['quizid' => $quiz->id, 'slot' => 1]), 1);
|
66 |
$questiondata = \question_bank::load_question_data($question->id);
|
64 |
|
67 |
|
Línea 65... |
Línea 68... |
65 |
$questiondata = \question_bank::load_question_data($question->id);
|
68 |
$DB->set_field('question', 'questiontext', $CFG->wwwroot . '/mod/quiz/view.php?id=' . $quiz->cmid, ['id' => $question->id]);
|
Línea 85... |
Línea 88... |
85 |
$quizquestions = \mod_quiz\question\bank\qbank_helper::get_question_structure(
|
88 |
$quizquestions = \mod_quiz\question\bank\qbank_helper::get_question_structure(
|
86 |
$newcm->instance, \context_module::instance($newcm->id));
|
89 |
$newcm->instance, \context_module::instance($newcm->id));
|
87 |
$questionids = [];
|
90 |
$questionids = [];
|
88 |
foreach ($quizquestions as $quizquestion) {
|
91 |
foreach ($quizquestions as $quizquestion) {
|
89 |
if ($quizquestion->questionid) {
|
92 |
if ($quizquestion->questionid) {
|
- |
|
93 |
$this->assertEquals($CFG->wwwroot . '/mod/quiz/view.php?id=' . $quiz->cmid, $quizquestion->questiontext);
|
90 |
$questionids[] = $quizquestion->questionid;
|
94 |
$questionids[] = $quizquestion->questionid;
|
91 |
}
|
95 |
}
|
92 |
}
|
96 |
}
|
93 |
list($condition, $param) = $DB->get_in_or_equal($questionids, SQL_PARAMS_NAMED, 'questionid');
|
97 |
list($condition, $param) = $DB->get_in_or_equal($questionids, SQL_PARAMS_NAMED, 'questionid');
|
94 |
$condition = 'WHERE qa.question ' . $condition;
|
98 |
$condition = 'WHERE qa.question ' . $condition;
|