Proyectos de Subversion Moodle

Rev

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

Rev 11 Rev 1441
Línea 26... Línea 26...
26
 *
26
 *
27
 * @package    tool_brickfield
27
 * @package    tool_brickfield
28
 * @copyright  2020 onward: Brickfield Education Labs, https://www.brickfield.ie
28
 * @copyright  2020 onward: Brickfield Education Labs, https://www.brickfield.ie
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
30
 */
30
 */
31
class area_test extends area_test_base {
31
final class area_test extends area_test_base {
32
    /**
32
    /**
33
     * Test for the area assign intro
33
     * Test for the area assign intro
34
     */
34
     */
35
    public function test_assign(): void {
35
    public function test_assign(): void {
36
        $this->resetAfterTest();
36
        $this->resetAfterTest();
Línea 91... Línea 91...
91
        $this->resetAfterTest();
91
        $this->resetAfterTest();
92
        /** @var \core_question_generator $generator */
92
        /** @var \core_question_generator $generator */
93
        $generator = $this->getDataGenerator()->get_plugin_generator('core_question');
93
        $generator = $this->getDataGenerator()->get_plugin_generator('core_question');
94
        $component = 'core_question';
94
        $component = 'core_question';
Línea 95... Línea -...
95
 
-
 
96
        list($category1, $course1, $qcat1, $questions1) = $generator->setup_course_and_questions('course');
-
 
97
        list($category2, $course2, $qcat2, $questions2) = $generator->setup_course_and_questions('category');
95
 
Línea 98... Línea 96...
98
        list($category3, $course3, $qcat3, $questions3) = $generator->setup_course_and_questions('system');
96
        [$category, $course, $qcat, $questions, $qbank] = $generator->setup_course_and_questions();
99
 
97
 
100
        $c = new \tool_brickfield\local\areas\core_question\questiontext();
98
        $c = new \tool_brickfield\local\areas\core_question\questiontext();
101
        // Set up results arrays from the recordset for easier testing.
-
 
102
        $course1areas = $this->array_from_recordset($c->find_course_areas($course1->id));
-
 
103
        $course2areas = $c->find_course_areas($course2->id);
-
 
Línea 104... Línea 99...
104
        $course3areas = $c->find_course_areas($course3->id);
99
        // Set up results arrays from the recordset for easier testing.
105
        $sysareas = $this->array_from_recordset($c->find_system_areas());
100
        $course1areas = $this->array_from_recordset($c->find_course_areas($course->id));
106
 
101
 
107
        // Assert the core_question area exists for the individual question's context, courseid and categoryid.
102
         // Assert the core_question area exists for the individual question's context, courseid and categoryid.
108
        $this->assert_area_in_array(
103
        $this->assert_area_in_array(
109
            $course1areas,
104
            $course1areas,
110
            $component,
105
            $component,
111
            \context_course::instance($course1->id)->id,
-
 
112
            $questions1[0]->id,
-
 
113
            $course1->id,
-
 
114
            null
-
 
115
        );
-
 
116
        $this->assert_area_in_array(
-
 
117
            $sysareas,
-
 
118
            $component,
-
 
119
            \context_coursecat::instance($category2->id)->id,
-
 
120
            $questions2[0]->id,
-
 
121
            SITEID,
-
 
122
            $category2->id
-
 
123
        );
-
 
124
        $this->assert_area_in_array(
-
 
125
            $sysareas,
-
 
126
            $component,
-
 
127
            \context_system::instance()->id,
106
            \context_module::instance($qbank->cmid)->id,
128
            $questions3[0]->id,
107
            $questions[0]->id,
Línea 129... Línea 108...
129
            SITEID,
108
            $course->id,
130
            null
109
            null
131
        );
110
        );
132
 
111
 
133
        // Emulate the question_created event.
112
        // Emulate the question_created event.
134
        $event = \core\event\question_created::create_from_question_instance($questions1[1],
113
        $event = \core\event\question_created::create_from_question_instance($questions[1],
135
            \context_course::instance($course1->id));
114
            \context_module::instance($qbank->cmid));
136
        $relevantresults = $this->array_from_recordset($c->find_relevant_areas($event));
115
        $relevantresults = $this->array_from_recordset($c->find_relevant_areas($event));
137
        $this->assert_area_in_array(
116
        $this->assert_area_in_array(
138
            $course1areas,
117
                $relevantresults,
139
            $component,
118
            $component,
140
            \context_course::instance($relevantresults[0]->courseid)->id,
119
            $relevantresults[0]->contextid,
141
            $relevantresults[0]->itemid,
120
            $relevantresults[0]->itemid,
Línea 152... Línea 131...
152
 
131
 
153
        $this->resetAfterTest();
132
        $this->resetAfterTest();
154
        /** @var \core_question_generator $generator */
133
        /** @var \core_question_generator $generator */
155
        $generator = $this->getDataGenerator()->get_plugin_generator('core_question');
134
        $generator = $this->getDataGenerator()->get_plugin_generator('core_question');
-
 
135
        $course = $this->getDataGenerator()->create_course();
156
        $course = $this->getDataGenerator()->create_course();
136
        $qbank = $this->getDataGenerator()->create_module('qbank', ['course' => $course->id]);
157
        $cat = $generator->create_question_category(['contextid' => \context_course::instance($course->id)->id]);
137
        $cat = $generator->create_question_category(['contextid' => \context_module::instance($qbank->cmid)->id]);
158
        $question1 = $generator->create_question('multichoice', null,
138
        $question1 = $generator->create_question('multichoice', null,
159
            ['name' => 'Example multichoice question', 'category' => $cat->id]);
139
            ['name' => 'Example multichoice question', 'category' => $cat->id]);
160
        $question2 = $generator->create_question('numerical', null,
140
        $question2 = $generator->create_question('numerical', null,