Skip to content

Commit 745e227

Browse files
committed
issue #223: update tests for Moodle 4.4
1 parent 3050dc2 commit 745e227

23 files changed

+232
-139
lines changed

tests/course_cat_lookup_step_test.php

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26-
defined('MOODLE_INTERNAL') || die();
26+
namespace tool_trigger;
2727

28-
global $CFG;
29-
30-
class tool_trigger_course_cat_lookup_step_testcase extends advanced_testcase {
28+
class course_cat_lookup_step_test extends \advanced_testcase {
3129

3230
/**
3331
* Test user.
@@ -61,11 +59,11 @@ public function setUp():void {
6159

6260
$this->event = \core\event\course_category_created::create([
6361
'objectid' => $this->category->id,
64-
'context' => context_coursecat::instance($this->category->id),
62+
'context' => \context_coursecat::instance($this->category->id),
6563
]);
6664

6765
// Run as the cron user .
68-
cron_setup_user();
66+
\core\cron::setup_user();
6967
}
7068

7169
/**
@@ -105,7 +103,7 @@ public function test_execute_basic() {
105103
);
106104

107105
list($status, $stepresults) = $step->execute(null, null, $this->event, []);
108-
$context = context_coursecat::instance($this->category->id);
106+
$context = \context_coursecat::instance($this->category->id);
109107

110108
$this->assertTrue($status);
111109
$this->assertEquals($this->category->id, $stepresults['category_id']);
@@ -191,14 +189,14 @@ public function test_execute_category_id($categoryid, $status, $exception) {
191189
);
192190

193191
if ($exception) {
194-
$this->expectException('Error');
195-
$this->expectExceptionMessageRegExp("/Specified category field not present in the workflow data:*/");
192+
$this->expectException(\invalid_parameter_exception::class);
193+
$this->expectExceptionMessageMatches("/Specified category field not present in the workflow data:*/");
196194
}
197195

198196
list($statusresult, $stepresults) = $step->execute(null, null, $this->event, []);
199197

200198
if ($status) {
201-
$context = context_coursecat::instance($this->category->id);
199+
$context = \context_coursecat::instance($this->category->id);
202200
$this->assertTrue($statusresult);
203201
$this->assertEquals($this->category->id, $stepresults['category_id']);
204202
$this->assertEquals($this->category->name, $stepresults['category_name']);
@@ -221,7 +219,7 @@ public function test_execute_category_id_integer() {
221219

222220
list($status, $stepresults) = $step->execute(null, null, $this->event, []);
223221

224-
$context = context_coursecat::instance($this->category->id);
222+
$context = \context_coursecat::instance($this->category->id);
225223
$this->assertTrue($status);
226224
$this->assertEquals($this->category->id, $stepresults['category_id']);
227225
$this->assertEquals($this->category->name, $stepresults['category_name']);
@@ -241,7 +239,7 @@ public function test_execute_category_id_string() {
241239

242240
list($status, $stepresults) = $step->execute(null, null, $this->event, []);
243241

244-
$context = context_coursecat::instance($this->category->id);
242+
$context = \context_coursecat::instance($this->category->id);
245243
$this->assertTrue($status);
246244
$this->assertEquals($this->category->id, $stepresults['category_id']);
247245
$this->assertEquals($this->category->name, $stepresults['category_name']);

tests/course_lookup_step_test.php

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,28 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26-
defined('MOODLE_INTERNAL') || die();
26+
namespace tool_trigger;
2727

28-
global $CFG;
28+
class course_lookup_step_test extends \advanced_testcase {
29+
30+
/**
31+
* Test user.
32+
* @var
33+
*/
34+
protected $user;
35+
36+
/**
37+
* Test user.
38+
* @var
39+
*/
40+
protected $course;
41+
42+
/**
43+
* Event for testing.
44+
* @var \core\event\user_graded
45+
*/
46+
private $event;
2947

30-
class tool_trigger_course_lookup_step_testcase extends advanced_testcase {
3148
/**
3249
* Create a "user_profile_viewed" event, of user1 viewing user2's
3350
* profile. And then run everything else as the cron user.
@@ -41,15 +58,15 @@ public function setup():void {
4158

4259
$this->event = \core\event\course_created::create([
4360
'objectid' => $this->course->id,
44-
'context' => context_course::instance($this->course->id),
61+
'context' => \context_course::instance($this->course->id),
4562
'other' => [
4663
'shortname' => $this->course->shortname,
4764
'fullname' => $this->course->fullname
4865
]
4966
]);
5067

5168
// Run as the cron user .
52-
cron_setup_user();
69+
\core\cron::setup_user();
5370
}
5471

5572
/**
@@ -65,7 +82,7 @@ public function test_execute_basic() {
6582
);
6683

6784
list($status, $stepresults) = $step->execute(null, null, $this->event, []);
68-
$context = context_course::instance($this->course->id);
85+
$context = \context_course::instance($this->course->id);
6986

7087
$this->assertTrue($status);
7188
$this->assertEquals($this->course->id, $stepresults['course_id']);
@@ -149,14 +166,14 @@ public function test_execute_course_id($courseid, $status, $exception) {
149166
);
150167

151168
if ($exception) {
152-
$this->expectException('Error');
153-
$this->expectExceptionMessageRegExp("/Specified courseid field not present in the workflow data:*/");
169+
$this->expectException(\invalid_parameter_exception::class);
170+
$this->expectExceptionMessageMatches("/Specified courseid field not present in the workflow data:*/");
154171
}
155172

156173
list($statusresult, $stepresults) = $step->execute(null, null, $this->event, []);
157174

158175
if ($status) {
159-
$context = context_course::instance($this->course->id);
176+
$context = \context_course::instance($this->course->id);
160177
$this->assertTrue($statusresult);
161178
$this->assertEquals($this->course->id, $stepresults['course_id']);
162179
$this->assertEquals($this->course->fullname, $stepresults['course_fullname']);
@@ -179,7 +196,7 @@ public function test_execute_course_id_integer() {
179196

180197
list($status, $stepresults) = $step->execute(null, null, $this->event, []);
181198

182-
$context = context_course::instance($this->course->id);
199+
$context = \context_course::instance($this->course->id);
183200
$this->assertTrue($status);
184201
$this->assertEquals($this->course->id, $stepresults['course_id']);
185202
$this->assertEquals($this->course->fullname, $stepresults['course_fullname']);
@@ -199,7 +216,7 @@ public function test_execute_course_id_string() {
199216

200217
list($status, $stepresults) = $step->execute(null, null, $this->event, []);
201218

202-
$context = context_course::instance($this->course->id);
219+
$context = \context_course::instance($this->course->id);
203220
$this->assertTrue($status);
204221
$this->assertEquals($this->course->id, $stepresults['course_id']);
205222
$this->assertEquals($this->course->fullname, $stepresults['course_fullname']);

tests/datafield_manager_test.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26+
namespace tool_trigger;
27+
2628
defined('MOODLE_INTERNAL') || die();
2729

2830
global $CFG;
2931
require_once(__DIR__.'/fixtures/user_event_fixture.php');
3032

31-
class tool_trigger_datafield_manager_testcase extends advanced_testcase {
33+
class datafield_manager_test extends \advanced_testcase {
3234
use \tool_trigger_user_event_fixture;
3335

3436
/**
@@ -102,7 +104,7 @@ public function test_render_datafields() {
102104
'nullvalue' => null,
103105
'emptyvalue' => '',
104106
'arrayvalue' => [],
105-
'objectvalue' => new stdClass(),
107+
'objectvalue' => new \stdClass(),
106108
];
107109

108110
$templatestring = 'Good tag: {tagexists}.

tests/debounce_step_test.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26+
namespace tool_trigger;
27+
2628
defined('MOODLE_INTERNAL') || die();
2729

2830
global $CFG;
2931
require_once("$CFG->libdir/gradelib.php");
3032

31-
class debounce_step_testcase extends advanced_testcase {
33+
class debounce_step_test extends \advanced_testcase {
3234
/**
3335
* The step to execute.
3436
*
@@ -41,6 +43,12 @@ class debounce_step_testcase extends advanced_testcase {
4143
*/
4244
private $eventid;
4345

46+
/**
47+
* Event for testing.
48+
* @var \core\event\user_graded
49+
*/
50+
private $event;
51+
4452
/**
4553
* Create a "user_profile_viewed" event, of user1 viewing user2's
4654
* profile. And then run everything else as the cron user.
@@ -54,13 +62,13 @@ public function setup():void {
5462
$user = $this->getDataGenerator()->create_user();
5563
$this->getDataGenerator()->enrol_user($user->id, $course->id);
5664

57-
$gradecategory = grade_category::fetch_course_category($course->id);
65+
$gradecategory = \grade_category::fetch_course_category($course->id);
5866
$gradecategory->load_grade_item();
5967
$gradeitem = $gradecategory->grade_item;
6068

6169
$gradeitem->update_final_grade($user->id, 10, 'gradebook');
6270

63-
$gradegrade = new grade_grade(array('userid' => $user->id, 'itemid' => $gradeitem->id), true);
71+
$gradegrade = new \grade_grade(array('userid' => $user->id, 'itemid' => $gradeitem->id), true);
6472
$gradegrade->grade_item = $gradeitem;
6573

6674
$this->event = \core\event\user_graded::create_from_grade($gradegrade);
@@ -76,7 +84,7 @@ public function setup():void {
7684

7785
// Add this step to the events table.
7886
$processor = new \tool_trigger\event_processor();
79-
$entrymethod = new ReflectionMethod($processor, 'prepare_event');
87+
$entrymethod = new \ReflectionMethod($processor, 'prepare_event');
8088
$entrymethod->setAccessible(true);
8189
$entry = $entrymethod->invoke($processor, $this->event);
8290
$this->eventid = $DB->insert_record('tool_trigger_events', $entry, true);

tests/email_action_step_test.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,22 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26+
namespace tool_trigger;
27+
2628
defined('MOODLE_INTERNAL') || die();
2729

2830
global $CFG;
2931
require_once(__DIR__.'/fixtures/user_event_fixture.php');
3032

31-
class tool_trigger_email_action_step_testcase extends advanced_testcase {
33+
class email_action_step_test extends \advanced_testcase {
3234
use \tool_trigger_user_event_fixture;
3335

36+
/**
37+
* Messages sink for testing.
38+
* @var \phpunit_message_sink
39+
*/
40+
private $sink;
41+
3442
/**
3543
* Create a "user_profile_viewed" event, of user1 viewing user2's
3644
* profile. And then run everything else as the cron user.

tests/event_processor_test.php

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2323
*/
2424

25+
namespace tool_trigger;
26+
2527
defined('MOODLE_INTERNAL') || die();
2628

2729
global $CFG;
@@ -36,7 +38,26 @@
3638
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
3739
*/
3840

39-
class tool_trigger_event_processor_testcase extends tool_trigger_testcase {
41+
class event_processor_test extends \tool_trigger_testcase {
42+
43+
/**
44+
* Event array.
45+
* @var
46+
*/
47+
protected $eventarr;
48+
49+
/**
50+
* Test user.
51+
* @var
52+
*/
53+
protected $user;
54+
55+
/**
56+
* Test context.
57+
* @var
58+
*/
59+
protected $context;
60+
4061

4162
public function setup():void {
4263
$this->resetAfterTest(true);
@@ -60,7 +81,7 @@ public function setup():void {
6081
$this->context = $context;
6182

6283
// Run as the cron user.
63-
cron_setup_user();
84+
\core\cron::setup_user();
6485
}
6586

6687
public function tearDown():void {
@@ -84,7 +105,7 @@ public function test_is_event_ignored() {
84105
$event = \core\event\user_loggedin::create($this->eventarr);
85106

86107
// We're testing a protected method, so we need to setup reflector magic.
87-
$method = new ReflectionMethod('tool_trigger\event_processor', 'is_event_ignored');
108+
$method = new \ReflectionMethod('tool_trigger\event_processor', 'is_event_ignored');
88109
$method->setAccessible(true); // Allow accessing of private method.
89110
$proxy = $method->invoke(new \tool_trigger\event_processor, $event); // Get result of invoked method.
90111

@@ -101,7 +122,7 @@ public function test_is_event_ignored_false() {
101122
$event = \core\event\user_loggedin::create($this->eventarr);
102123

103124
// We're testing a protected method, so we need to setup reflector magic.
104-
$method = new ReflectionMethod('tool_trigger\event_processor', 'is_event_ignored');
125+
$method = new \ReflectionMethod('tool_trigger\event_processor', 'is_event_ignored');
105126
$method->setAccessible(true); // Allow accessing of private method.
106127
$proxy = $method->invoke(new \tool_trigger\event_processor, $event); // Get result of invoked method.
107128

@@ -115,7 +136,7 @@ public function test_prepare_event() {
115136
$event = \core\event\user_loggedin::create($this->eventarr);
116137

117138
// We're testing a protected method, so we need to setup reflector magic.
118-
$method = new ReflectionMethod('tool_trigger\event_processor', 'prepare_event');
139+
$method = new \ReflectionMethod('tool_trigger\event_processor', 'prepare_event');
119140
$method->setAccessible(true); // Allow accessing of private method.
120141
$proxy = $method->invoke(new \tool_trigger\event_processor, $event); // Get result of invoked method.
121142
$expected = unserialize($proxy['other']);

tests/fail_filter_step_test.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26-
defined('MOODLE_INTERNAL') || die();
26+
namespace tool_trigger;
2727

28-
global $CFG;
29-
30-
class tool_trigger_fail_filter_step_testcase extends basic_testcase {
28+
class fail_filter_step_test extends \basic_testcase {
3129
public function test_execute() {
3230
$step = new \tool_trigger\steps\filters\fail_filter_step();
3331
list($status) = $step->execute(null, null, null, null);

tests/fixtures/user_event_fixture.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public function setup_user_event() {
7171
$this->event->trigger();
7272

7373
// Run as the cron user .
74-
cron_setup_user();
74+
\core\cron::setup_user();
7575
}
7676

7777
/**

0 commit comments

Comments
 (0)