| 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,
|