Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
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;