Skip to content

Commit 493a275

Browse files
committed
WIP9a
1 parent f952b75 commit 493a275

File tree

7 files changed

+340
-250
lines changed

7 files changed

+340
-250
lines changed

myreport.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,6 @@
210210
}
211211
// Current group members.
212212
$currentgroupresps = $questionnaire->get_responses(false, $currentgroupid);
213-
214213
} else {
215214
// Groupmode = separate groups but user is not member of any group
216215
// and does not have moodle/site:accessallgroups capability -> refuse view responses.

tests/behat/behat_mod_questionnaire.php

Lines changed: 278 additions & 194 deletions
Large diffs are not rendered by default.

tests/generator/lib.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ protected function add_response_choice($questionresponse, $responseid) {
494494
$rs = $DB->get_records_sql("SELECT * FROM {questionnaire_quest_choice} $select", $params, 0, 1);
495495
$choice = reset($rs);
496496
if (!$choice) {
497-
throw new coding_exception('Could not find choice for "' .$choiceval .
497+
throw new coding_exception('Could not find choice for "' . $choiceval .
498498
'" (question_id = ' . $question->id . ')', var_export($choiceval, true));
499499
}
500500
$choiceid = $choice->id;
@@ -639,7 +639,7 @@ public function generate_response($questionnaire, $questions, $userid, $complete
639639
case QUESDATE:
640640
$date = mktime(0, 0, 0, 12, 28, 2017);
641641
$dateformat = get_string('strfdate', 'questionnaire');
642-
$datestr = userdate ($date, $dateformat, '1', false);
642+
$datestr = userdate($date, $dateformat, '1', false);
643643
$responses[] = new question_response($question->id, $datestr);
644644
break;
645645
case QUESRADIO:

tests/generator_test.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* Unit tests for questionnaire_generator_testcase.
3030
* @group mod_questionnaire
3131
*/
32-
class generator_test extends \advanced_testcase {
32+
final class generator_test extends \advanced_testcase {
3333
/**
3434
* Test generator create_instance function.
3535
*
@@ -39,20 +39,20 @@ class generator_test extends \advanced_testcase {
3939
*
4040
* @covers \mod_questionnaire\generator\
4141
*/
42-
public function test_create_instance() {
42+
public function test_create_instance(): void {
4343
global $DB;
4444

4545
$this->resetAfterTest(true);
4646

4747
$course = $this->getDataGenerator()->create_course();
48-
$this->assertFalse($DB->record_exists('questionnaire', array('course' => $course->id)));
48+
$this->assertFalse($DB->record_exists('questionnaire', ['course' => $course->id]));
4949

5050
/** @var mod_questionnaire_generator $generator */
5151
$generator = $this->getDataGenerator()->get_plugin_generator('mod_questionnaire');
5252
$this->assertInstanceOf('mod_questionnaire_generator', $generator);
5353
$this->assertEquals('questionnaire', $generator->get_modulename());
5454

55-
$questionnaire = $generator->create_instance(array('course' => $course->id));
55+
$questionnaire = $generator->create_instance(['course' => $course->id]);
5656
$this->assertEquals(1, $DB->count_records('questionnaire'));
5757

5858
$cm = get_coursemodule_from_instance('questionnaire', $questionnaire->id);
@@ -63,7 +63,7 @@ public function test_create_instance() {
6363
$context = \context_module::instance($cm->id);
6464
$this->assertEquals($questionnaire->cmid, $context->instanceid);
6565

66-
$survey = $DB->get_record('questionnaire_survey', array('id' => $questionnaire->sid));
66+
$survey = $DB->get_record('questionnaire_survey', ['id' => $questionnaire->sid]);
6767
$this->assertEquals($survey->id, $questionnaire->sid);
6868
$this->assertEquals($questionnaire->name, $survey->name);
6969
$this->assertEquals($questionnaire->name, $survey->title);
@@ -82,29 +82,29 @@ public function test_create_instance() {
8282
*
8383
* @covers \mod_questionnaire\generator\
8484
*/
85-
public function test_create_content() {
85+
public function test_create_content(): void {
8686
global $DB;
8787

8888
$this->resetAfterTest(true);
8989

9090
$course = $this->getDataGenerator()->create_course();
9191
$generator = $this->getDataGenerator()->get_plugin_generator('mod_questionnaire');
92-
$questionnaire = $generator->create_instance(array('course' => $course->id));
92+
$questionnaire = $generator->create_instance(['course' => $course->id]);
9393
$cm = get_coursemodule_from_instance('questionnaire', $questionnaire->id);
9494
$questionnaire = new \questionnaire($course, $cm, $questionnaire->id, null, false);
9595

96-
$newcontent = array(
96+
$newcontent = [
9797
'title' => 'New title',
9898
'email' => 'test@email.com',
9999
'subtitle' => 'New subtitle',
100100
'info' => 'New info',
101101
'thanks_page' => 'http://thankurl.com',
102102
'thank_head' => 'New thank header',
103103
'thank_body' => 'New thank body',
104-
);
104+
];
105105
$sid = $generator->create_content($questionnaire, $newcontent);
106106
$this->assertEquals($sid, $questionnaire->sid);
107-
$survey = $DB->get_record('questionnaire_survey', array('id' => $sid));
107+
$survey = $DB->get_record('questionnaire_survey', ['id' => $sid]);
108108
foreach ($newcontent as $name => $value) {
109109
$this->assertEquals($survey->{$name}, $value);
110110
}

tests/lib_test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
* Unit tests for questionnaire_lib_testcase.
3838
* @group mod_questionnaire
3939
*/
40-
class lib_test extends \advanced_testcase {
40+
final class lib_test extends \advanced_testcase {
4141
/**
4242
* Test for questionnaire_supports.
4343
*

tests/questiontypes_test.php

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,25 +30,27 @@
3030
defined('MOODLE_INTERNAL') || die();
3131

3232
global $CFG;
33-
require_once($CFG->dirroot.'/mod/questionnaire/locallib.php');
33+
require_once($CFG->dirroot . '/mod/questionnaire/locallib.php');
3434
require_once($CFG->dirroot . '/mod/questionnaire/classes/question/question.php');
3535

3636
/**
3737
* Unit tests for questionnaire_questiontypes_testcase.
3838
* @group mod_questionnaire
3939
*/
40-
class questiontypes_test extends \advanced_testcase {
41-
40+
final class questiontypes_test extends \advanced_testcase {
4241
/**
4342
* Create a check boxes test question.
4443
*
4544
* @return void
4645
*
4746
* @covers \mod_questionnaire\questiontypes_test::create_test_question
4847
*/
49-
public function test_create_question_checkbox() {
50-
$this->create_test_question_with_choices(QUESCHECK,
51-
'\\mod_questionnaire\\question\\check', array('content' => 'Check one'));
48+
public function test_create_question_checkbox(): void {
49+
$this->create_test_question_with_choices(
50+
QUESCHECK,
51+
'\\mod_questionnaire\\question\\check',
52+
['content' => 'Check one']
53+
);
5254
}
5355

5456
/**
@@ -58,8 +60,8 @@ public function test_create_question_checkbox() {
5860
*
5961
* @covers \mod_questionnaire\questiontypes_test::create_test_question
6062
*/
61-
public function test_create_question_date() {
62-
$this->create_test_question(QUESDATE, '\\mod_questionnaire\\question\\date', array('content' => 'Enter a date'));
63+
public function test_create_question_date(): void {
64+
$this->create_test_question(QUESDATE, '\\mod_questionnaire\\question\\date', ['content' => 'Enter a date']);
6365
}
6466

6567
/**
@@ -69,8 +71,8 @@ public function test_create_question_date() {
6971
*
7072
* @covers \mod_questionnaire\questiontypes_test::create_test_question
7173
*/
72-
public function test_create_question_dropdown() {
73-
$this->create_test_question_with_choices(QUESDROP, '\\mod_questionnaire\\question\\drop', array('content' => 'Select one'));
74+
public function test_create_question_dropdown(): void {
75+
$this->create_test_question_with_choices(QUESDROP, '\\mod_questionnaire\\question\\drop', ['content' => 'Select one']);
7476
}
7577

7678
/**
@@ -80,11 +82,12 @@ public function test_create_question_dropdown() {
8082
*
8183
* @covers \mod_questionnaire\questiontypes_test::create_test_question
8284
*/
83-
public function test_create_question_essay() {
84-
$questiondata = array(
85+
public function test_create_question_essay(): void {
86+
$questiondata = [
8587
'content' => 'Enter an essay',
8688
'length' => 0,
87-
'precise' => 5);
89+
'precise' => 5,
90+
];
8891
$this->create_test_question(QUESESSAY, '\\mod_questionnaire\\question\\essay', $questiondata);
8992
}
9093

@@ -95,9 +98,12 @@ public function test_create_question_essay() {
9598
*
9699
* @covers \mod_questionnaire\questiontypes_test::create_test_question
97100
*/
98-
public function test_create_question_sectiontext() {
99-
$this->create_test_question(QUESSECTIONTEXT, '\\mod_questionnaire\\question\\sectiontext',
100-
array('name' => null, 'content' => 'This a section label.'));
101+
public function test_create_question_sectiontext(): void {
102+
$this->create_test_question(
103+
QUESSECTIONTEXT,
104+
'\\mod_questionnaire\\question\\sectiontext',
105+
['name' => null, 'content' => 'This a section label.']
106+
);
101107
}
102108

103109
/**
@@ -107,11 +113,12 @@ public function test_create_question_sectiontext() {
107113
*
108114
* @covers \mod_questionnaire\questiontypes_test::create_test_question
109115
*/
110-
public function test_create_question_numeric() {
111-
$questiondata = array(
116+
public function test_create_question_numeric(): void {
117+
$questiondata = [
112118
'content' => 'Enter a number',
113119
'length' => 10,
114-
'precise' => 0);
120+
'precise' => 0,
121+
];
115122
$this->create_test_question(QUESNUMERIC, '\\mod_questionnaire\\question\\numerical', $questiondata);
116123
}
117124

@@ -122,9 +129,8 @@ public function test_create_question_numeric() {
122129
*
123130
* @covers \mod_questionnaire\questiontypes_test::create_test_question
124131
*/
125-
public function test_create_question_radiobuttons() {
126-
$this->create_test_question_with_choices(QUESRADIO,
127-
'\\mod_questionnaire\\question\\radio', array('content' => 'Choose one'));
132+
public function test_create_question_radiobuttons(): void {
133+
$this->create_test_question_with_choices(QUESRADIO, '\\mod_questionnaire\\question\\radio', ['content' => 'Choose one']);
128134
}
129135

130136
/**
@@ -134,8 +140,8 @@ public function test_create_question_radiobuttons() {
134140
*
135141
* @covers \mod_questionnaire\questiontypes_test::create_test_question
136142
*/
137-
public function test_create_question_ratescale() {
138-
$this->create_test_question_with_choices(QUESRATE, '\\mod_questionnaire\\question\\rate', array('content' => 'Rate these'));
143+
public function test_create_question_ratescale(): void {
144+
$this->create_test_question_with_choices(QUESRATE, '\\mod_questionnaire\\question\\rate', ['content' => 'Rate these']);
139145
}
140146

141147
/**
@@ -145,11 +151,12 @@ public function test_create_question_ratescale() {
145151
*
146152
* @covers \mod_questionnaire\questiontypes_test::create_test_question
147153
*/
148-
public function test_create_question_textbox() {
149-
$questiondata = array(
154+
public function test_create_question_textbox(): void {
155+
$questiondata = [
150156
'content' => 'Enter some text',
151157
'length' => 20,
152-
'precise' => 25);
158+
'precise' => 25,
159+
];
153160
$this->create_test_question(QUESTEXT, '\\mod_questionnaire\\question\\text', $questiondata);
154161
}
155162

@@ -160,9 +167,8 @@ public function test_create_question_textbox() {
160167
*
161168
* @covers \mod_questionnaire\questiontypes_test::create_test_question
162169
*/
163-
public function test_create_question_slider() {
164-
$questiondata = array(
165-
'content' => 'Enter a number');
170+
public function test_create_question_slider(): void {
171+
$questiondata = ['content' => 'Enter a number'];
166172
$this->create_test_question(QUESSLIDER, '\\mod_questionnaire\\question\\slider', $questiondata);
167173
}
168174

@@ -173,8 +179,8 @@ public function test_create_question_slider() {
173179
*
174180
* @covers \mod_questionnaire\questiontypes_test::create_test_question
175181
*/
176-
public function test_create_question_yesno() {
177-
$this->create_test_question(QUESYESNO, '\\mod_questionnaire\\question\\yesno', array('content' => 'Enter yes or no'));
182+
public function test_create_question_yesno(): void {
183+
$this->create_test_question(QUESYESNO, '\\mod_questionnaire\\question\\yesno', ['content' => 'Enter yes or no']);
178184
}
179185

180186

@@ -187,14 +193,14 @@ public function test_create_question_yesno() {
187193
* @param array $questiondata
188194
* @param null|array $choicedata
189195
*/
190-
private function create_test_question($qtype, $questionclass, $questiondata = array(), $choicedata = null) {
196+
private function create_test_question($qtype, $questionclass, $questiondata = [], $choicedata = null) {
191197
global $DB;
192198

193199
$this->resetAfterTest();
194200

195201
$course = $this->getDataGenerator()->create_course();
196202
$generator = $this->getDataGenerator()->get_plugin_generator('mod_questionnaire');
197-
$questionnaire = $generator->create_instance(array('course' => $course->id));
203+
$questionnaire = $generator->create_instance(['course' => $course->id]);
198204
$cm = get_coursemodule_from_instance('questionnaire', $questionnaire->id);
199205

200206
$questiondata['type_id'] = $qtype;
@@ -215,7 +221,7 @@ private function create_test_question($qtype, $questionclass, $questiondata = ar
215221
$this->assertEquals(count($choicedata), count($question->choices));
216222
$choicedatum = reset($choicedata);
217223
foreach ($question->choices as $cid => $choice) {
218-
$this->assertTrue($DB->record_exists('questionnaire_quest_choice', array('id' => $cid)));
224+
$this->assertTrue($DB->record_exists('questionnaire_quest_choice', ['id' => $cid]));
219225
$this->assertEquals($choice->content, $choicedatum->content);
220226
$this->assertEquals($choice->value, $choicedatum->value);
221227
$choicedatum = next($choicedata);
@@ -224,7 +230,7 @@ private function create_test_question($qtype, $questionclass, $questiondata = ar
224230

225231
// Questionnaire object should now have question record(s).
226232
$questionnaire = new \questionnaire($course, $cm, $questionnaire->id, null, true);
227-
$this->assertTrue($DB->record_exists('questionnaire_question', array('id' => $question->id)));
233+
$this->assertTrue($DB->record_exists('questionnaire_question', ['id' => $question->id]));
228234
$this->assertEquals('array', gettype($questionnaire->questions));
229235
$this->assertTrue(array_key_exists($question->id, $questionnaire->questions));
230236
$this->assertEquals(1, count($questionnaire->questions));
@@ -240,12 +246,13 @@ private function create_test_question($qtype, $questionclass, $questiondata = ar
240246
* @param array $questiondata
241247
* @param null|array $choicedata
242248
*/
243-
private function create_test_question_with_choices($qtype, $questionclass, $questiondata = array(), $choicedata = null) {
249+
private function create_test_question_with_choices($qtype, $questionclass, $questiondata = [], $choicedata = null) {
244250
if ($choicedata === null) {
245-
$choicedata = array(
246-
(object)array('content' => 'One', 'value' => 1),
247-
(object)array('content' => 'Two', 'value' => 2),
248-
(object)array('content' => 'Three', 'value' => 3));
251+
$choicedata = [
252+
(object) ['content' => 'One', 'value' => 1],
253+
(object) ['content' => 'Two', 'value' => 2],
254+
(object) ['content' => 'Three', 'value' => 3],
255+
];
249256
}
250257
$this->create_test_question($qtype, $questionclass, $questiondata, $choicedata);
251258
}

tests/responsetypes_test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ private function response_tests(
434434
/**
435435
* Tests that an old boolean response is deleted correctly.
436436
*
437-
* @covers questionnaire_delete_old_responses
437+
* @covers \mod_questionnaire\responsetype\boolean
438438
*/
439439
public function test_create_old_response_boolean(): void {
440440
global $DB;

0 commit comments

Comments
 (0)