| Línea 57... |
Línea 57... |
| 57 |
$event = reset($events);
|
57 |
$event = reset($events);
|
| Línea 58... |
Línea 58... |
| 58 |
|
58 |
|
| 59 |
// Check that the event data is valid.
|
59 |
// Check that the event data is valid.
|
| 60 |
$this->assertInstanceOf('\core\event\message_contact_added', $event);
|
60 |
$this->assertInstanceOf('\core\event\message_contact_added', $event);
|
| 61 |
$this->assertEquals(\context_user::instance(2), $event->get_context());
|
61 |
$this->assertEquals(\context_user::instance(2), $event->get_context());
|
| 62 |
$url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
|
62 |
$url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
|
| 63 |
$this->assertEquals($url, $event->get_url());
|
63 |
$this->assertEquals($url, $event->get_url());
|
| Línea 64... |
Línea 64... |
| 64 |
}
|
64 |
}
|
| 65 |
|
65 |
|
| Línea 87... |
Línea 87... |
| 87 |
$event = reset($events);
|
87 |
$event = reset($events);
|
| Línea 88... |
Línea 88... |
| 88 |
|
88 |
|
| 89 |
// Check that the event data is valid.
|
89 |
// Check that the event data is valid.
|
| 90 |
$this->assertInstanceOf('\core\event\message_contact_removed', $event);
|
90 |
$this->assertInstanceOf('\core\event\message_contact_removed', $event);
|
| 91 |
$this->assertEquals(\context_user::instance(2), $event->get_context());
|
91 |
$this->assertEquals(\context_user::instance(2), $event->get_context());
|
| 92 |
$url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
|
92 |
$url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
|
| 93 |
$this->assertEquals($url, $event->get_url());
|
93 |
$this->assertEquals($url, $event->get_url());
|
| Línea 94... |
Línea 94... |
| 94 |
}
|
94 |
}
|
| 95 |
|
95 |
|
| Línea 162... |
Línea 162... |
| 162 |
*
|
162 |
*
|
| 163 |
* We can not use the message_send() function in the unit test to check that the event was fired as there is a
|
163 |
* We can not use the message_send() function in the unit test to check that the event was fired as there is a
|
| 164 |
* conditional check to ensure a fake message is sent during unit tests when calling that particular function.
|
164 |
* conditional check to ensure a fake message is sent during unit tests when calling that particular function.
|
| 165 |
*/
|
165 |
*/
|
| 166 |
public function test_message_sent(): void {
|
166 |
public function test_message_sent(): void {
|
| 167 |
$event = \core\event\message_sent::create(array(
|
167 |
$event = \core\event\message_sent::create([
|
| 168 |
'objectid' => 3,
|
168 |
'objectid' => 3,
|
| 169 |
'userid' => 1,
|
169 |
'userid' => 1,
|
| 170 |
'context' => \context_system::instance(),
|
170 |
'context' => \context_system::instance(),
|
| 171 |
'relateduserid' => 2,
|
171 |
'relateduserid' => 2,
|
| 172 |
'other' => array(
|
172 |
'other' => [
|
| 173 |
'courseid' => 4
|
173 |
'courseid' => 4,
|
| 174 |
)
|
174 |
],
|
| 175 |
));
|
175 |
]);
|
| Línea 176... |
Línea 176... |
| 176 |
|
176 |
|
| 177 |
// Trigger and capturing the event.
|
177 |
// Trigger and capturing the event.
|
| 178 |
$sink = $this->redirectEvents();
|
178 |
$sink = $this->redirectEvents();
|
| 179 |
$event->trigger();
|
179 |
$event->trigger();
|
| 180 |
$events = $sink->get_events();
|
180 |
$events = $sink->get_events();
|
| Línea 181... |
Línea 181... |
| 181 |
$event = reset($events);
|
181 |
$event = reset($events);
|
| 182 |
|
182 |
|
| 183 |
// Check that the event data is valid.
|
183 |
// Check that the event data is valid.
|
| 184 |
$this->assertInstanceOf('\core\event\message_sent', $event);
|
184 |
$this->assertInstanceOf('\core\event\message_sent', $event);
|
| 185 |
$this->assertEquals(\context_system::instance(), $event->get_context());
|
185 |
$this->assertEquals(\context_system::instance(), $event->get_context());
|
| 186 |
$url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
|
186 |
$url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
|
| 187 |
$this->assertEquals($url, $event->get_url());
|
187 |
$this->assertEquals($url, $event->get_url());
|
| 188 |
$this->assertEquals(3, $event->objectid);
|
188 |
$this->assertEquals(3, $event->objectid);
|
| Línea 189... |
Línea 189... |
| 189 |
$this->assertEquals(4, $event->other['courseid']);
|
189 |
$this->assertEquals(4, $event->other['courseid']);
|
| 190 |
}
|
190 |
}
|
| 191 |
|
191 |
|
| 192 |
public function test_mesage_sent_without_other_courseid(): void {
|
192 |
public function test_mesage_sent_without_other_courseid(): void {
|
| Línea 193... |
Línea 193... |
| 193 |
// Creating a message_sent event without other[courseid] leads to exception.
|
193 |
// Creating a message_sent event without other[courseid] leads to exception.
|
| 194 |
$this->expectException('coding_exception');
|
194 |
$this->expectException('coding_exception');
|
| 195 |
$this->expectExceptionMessage('The \'courseid\' value must be set in other');
|
195 |
$this->expectExceptionMessage('The \'courseid\' value must be set in other');
|
| 196 |
|
196 |
|
| 197 |
$event = \core\event\message_sent::create(array(
|
197 |
$event = \core\event\message_sent::create([
|
| 198 |
'userid' => 1,
|
198 |
'userid' => 1,
|
| 199 |
'context' => \context_system::instance(),
|
199 |
'context' => \context_system::instance(),
|
| 200 |
'relateduserid' => 2,
|
200 |
'relateduserid' => 2,
|
| 201 |
'other' => array(
|
201 |
'other' => [
|
| Línea 202... |
Línea 202... |
| 202 |
'messageid' => 3,
|
202 |
'messageid' => 3,
|
| 203 |
)
|
203 |
],
|
| Línea 217... |
Línea 217... |
| 217 |
$event = reset($events);
|
217 |
$event = reset($events);
|
| Línea 218... |
Línea 218... |
| 218 |
|
218 |
|
| 219 |
// Check that the event data is valid.
|
219 |
// Check that the event data is valid.
|
| 220 |
$this->assertInstanceOf('\core\event\message_sent', $event);
|
220 |
$this->assertInstanceOf('\core\event\message_sent', $event);
|
| 221 |
$this->assertEquals(\context_system::instance(), $event->get_context());
|
221 |
$this->assertEquals(\context_system::instance(), $event->get_context());
|
| 222 |
$url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
|
222 |
$url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
|
| 223 |
$this->assertEquals($url, $event->get_url());
|
223 |
$this->assertEquals($url, $event->get_url());
|
| 224 |
$this->assertEquals(3, $event->objectid);
|
224 |
$this->assertEquals(3, $event->objectid);
|
| 225 |
$this->assertEquals(4, $event->other['courseid']);
|
225 |
$this->assertEquals(4, $event->other['courseid']);
|
| Línea 239... |
Línea 239... |
| 239 |
'objectid' => 3,
|
239 |
'objectid' => 3,
|
| 240 |
'userid' => 1,
|
240 |
'userid' => 1,
|
| 241 |
'context' => \context_system::instance(),
|
241 |
'context' => \context_system::instance(),
|
| 242 |
'other' => [
|
242 |
'other' => [
|
| 243 |
'courseid' => 4,
|
243 |
'courseid' => 4,
|
| 244 |
'conversationid' => 54
|
244 |
'conversationid' => 54,
|
| 245 |
]
|
245 |
],
|
| 246 |
]);
|
246 |
]);
|
| Línea 247... |
Línea 247... |
| 247 |
|
247 |
|
| 248 |
// Trigger and capture the event.
|
248 |
// Trigger and capture the event.
|
| 249 |
$sink = $this->redirectEvents();
|
249 |
$sink = $this->redirectEvents();
|
| Línea 273... |
Línea 273... |
| 273 |
'userid' => 1,
|
273 |
'userid' => 1,
|
| 274 |
'objectid' => 3,
|
274 |
'objectid' => 3,
|
| 275 |
'context' => \context_system::instance(),
|
275 |
'context' => \context_system::instance(),
|
| 276 |
'relateduserid' => 2,
|
276 |
'relateduserid' => 2,
|
| 277 |
'other' => [
|
277 |
'other' => [
|
| 278 |
'conversationid' => 34
|
278 |
'conversationid' => 34,
|
| 279 |
]
|
279 |
],
|
| 280 |
]);
|
280 |
]);
|
| 281 |
}
|
281 |
}
|
| Línea 282... |
Línea 282... |
| 282 |
|
282 |
|
| 283 |
/**
|
283 |
/**
|
| Línea 293... |
Línea 293... |
| 293 |
'objectid' => 3,
|
293 |
'objectid' => 3,
|
| 294 |
'context' => \context_system::instance(),
|
294 |
'context' => \context_system::instance(),
|
| 295 |
'relateduserid' => 2,
|
295 |
'relateduserid' => 2,
|
| 296 |
'other' => [
|
296 |
'other' => [
|
| 297 |
'courseid' => 44,
|
297 |
'courseid' => 44,
|
| 298 |
]
|
298 |
],
|
| 299 |
]);
|
299 |
]);
|
| 300 |
}
|
300 |
}
|
| Línea 301... |
Línea 301... |
| 301 |
|
301 |
|
| 302 |
/**
|
302 |
/**
|
| Línea 345... |
Línea 345... |
| 345 |
$events = $sink->get_events();
|
345 |
$events = $sink->get_events();
|
| 346 |
$event = reset($events);
|
346 |
$event = reset($events);
|
| Línea 347... |
Línea 347... |
| 347 |
|
347 |
|
| 348 |
// Get the usage action.
|
348 |
// Get the usage action.
|
| 349 |
$mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
|
349 |
$mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
|
| Línea 350... |
Línea 350... |
| 350 |
'action' => \core_message\api::MESSAGE_ACTION_READ]);
|
350 |
'action' => \core_message\api::MESSAGE_ACTION_READ, ]);
|
| 351 |
|
351 |
|
| 352 |
// Check that the event data is valid.
|
352 |
// Check that the event data is valid.
|
| 353 |
$this->assertInstanceOf('\core\event\message_viewed', $event);
|
353 |
$this->assertInstanceOf('\core\event\message_viewed', $event);
|
| 354 |
$this->assertEquals(\context_user::instance($user1->id), $event->get_context());
|
354 |
$this->assertEquals(\context_user::instance($user1->id), $event->get_context());
|
| 355 |
$this->assertEquals($mua->id, $event->objectid);
|
355 |
$this->assertEquals($mua->id, $event->objectid);
|
| 356 |
$this->assertEquals($messageid, $event->other['messageid']);
|
356 |
$this->assertEquals($messageid, $event->other['messageid']);
|
| 357 |
$url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
|
357 |
$url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
|
| Línea 358... |
Línea 358... |
| 358 |
$this->assertEquals($url, $event->get_url());
|
358 |
$this->assertEquals($url, $event->get_url());
|
| 359 |
}
|
359 |
}
|
| Línea 380... |
Línea 380... |
| 380 |
$events = $sink->get_events();
|
380 |
$events = $sink->get_events();
|
| 381 |
$event = reset($events);
|
381 |
$event = reset($events);
|
| Línea 382... |
Línea 382... |
| 382 |
|
382 |
|
| 383 |
// Get the usage action.
|
383 |
// Get the usage action.
|
| 384 |
$mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
|
384 |
$mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
|
| Línea 385... |
Línea 385... |
| 385 |
'action' => \core_message\api::MESSAGE_ACTION_DELETED]);
|
385 |
'action' => \core_message\api::MESSAGE_ACTION_DELETED, ]);
|
| 386 |
|
386 |
|
| 387 |
// Check that the event data is valid.
|
387 |
// Check that the event data is valid.
|
| 388 |
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
388 |
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
| Línea 404... |
Línea 404... |
| 404 |
$events = $sink->get_events();
|
404 |
$events = $sink->get_events();
|
| 405 |
$event = reset($events);
|
405 |
$event = reset($events);
|
| Línea 406... |
Línea 406... |
| 406 |
|
406 |
|
| 407 |
// Get the usage action.
|
407 |
// Get the usage action.
|
| 408 |
$mua = $DB->get_record('message_user_actions', ['userid' => $user2->id, 'messageid' => $messageid,
|
408 |
$mua = $DB->get_record('message_user_actions', ['userid' => $user2->id, 'messageid' => $messageid,
|
| Línea 409... |
Línea 409... |
| 409 |
'action' => \core_message\api::MESSAGE_ACTION_DELETED]);
|
409 |
'action' => \core_message\api::MESSAGE_ACTION_DELETED, ]);
|
| 410 |
|
410 |
|
| 411 |
// Check that the event data is valid.
|
411 |
// Check that the event data is valid.
|
| 412 |
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
412 |
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
| Línea 459... |
Línea 459... |
| 459 |
\core_message\api::delete_conversation_by_id($user1->id, $conversationid);
|
459 |
\core_message\api::delete_conversation_by_id($user1->id, $conversationid);
|
| 460 |
$events = $sink->get_events();
|
460 |
$events = $sink->get_events();
|
| Línea 461... |
Línea 461... |
| 461 |
|
461 |
|
| 462 |
// Get the user actions for the messages deleted by that user.
|
462 |
// Get the user actions for the messages deleted by that user.
|
| 463 |
$muas = $DB->get_records('message_user_actions', ['userid' => $user1->id,
|
463 |
$muas = $DB->get_records('message_user_actions', ['userid' => $user1->id,
|
| 464 |
'action' => \core_message\api::MESSAGE_ACTION_DELETED], 'timecreated ASC');
|
464 |
'action' => \core_message\api::MESSAGE_ACTION_DELETED, ], 'timecreated ASC');
|
| Línea 465... |
Línea 465... |
| 465 |
$this->assertCount(8, $muas);
|
465 |
$this->assertCount(8, $muas);
|
| 466 |
|
466 |
|
| 467 |
// Create a list we can use for testing.
|
467 |
// Create a list we can use for testing.
|
| Línea 519... |
Línea 519... |
| 519 |
$this->assertEquals($notificationid, $event->objectid);
|
519 |
$this->assertEquals($notificationid, $event->objectid);
|
| 520 |
$this->assertEquals($user1->id, $event->userid);
|
520 |
$this->assertEquals($user1->id, $event->userid);
|
| 521 |
$this->assertEquals($user2->id, $event->relateduserid);
|
521 |
$this->assertEquals($user2->id, $event->relateduserid);
|
| 522 |
$this->assertEquals(\context_system::instance(), $event->get_context());
|
522 |
$this->assertEquals(\context_system::instance(), $event->get_context());
|
| 523 |
$this->assertEquals($course->id, $event->other['courseid']);
|
523 |
$this->assertEquals($course->id, $event->other['courseid']);
|
| 524 |
$url = new \moodle_url('/message/output/popup/notifications.php', array('notificationid' => $event->objectid));
|
524 |
$url = new \moodle_url('/message/output/popup/notifications.php', ['notificationid' => $event->objectid]);
|
| 525 |
$this->assertEquals($url, $event->get_url());
|
525 |
$this->assertEquals($url, $event->get_url());
|
| 526 |
}
|
526 |
}
|
| Línea 527... |
Línea 527... |
| 527 |
|
527 |
|
| 528 |
/**
|
528 |
/**
|
| Línea 570... |
Línea 570... |
| 570 |
$this->assertInstanceOf('\core\event\notification_viewed', $event);
|
570 |
$this->assertInstanceOf('\core\event\notification_viewed', $event);
|
| 571 |
$this->assertEquals($notificationid, $event->objectid);
|
571 |
$this->assertEquals($notificationid, $event->objectid);
|
| 572 |
$this->assertEquals($user2->id, $event->userid);
|
572 |
$this->assertEquals($user2->id, $event->userid);
|
| 573 |
$this->assertEquals($user1->id, $event->relateduserid);
|
573 |
$this->assertEquals($user1->id, $event->relateduserid);
|
| 574 |
$this->assertEquals(\context_user::instance($user2->id), $event->get_context());
|
574 |
$this->assertEquals(\context_user::instance($user2->id), $event->get_context());
|
| 575 |
$url = new \moodle_url('/message/output/popup/notifications.php', array('notificationid' => $event->objectid));
|
575 |
$url = new \moodle_url('/message/output/popup/notifications.php', ['notificationid' => $event->objectid]);
|
| 576 |
$this->assertEquals($url, $event->get_url());
|
576 |
$this->assertEquals($url, $event->get_url());
|
| 577 |
}
|
577 |
}
|
| 578 |
}
|
578 |
}
|