MDL-47162 core_message: Add course id to message eventdata

This commit is contained in:
Amanda Doughty 2016-07-20 12:40:34 +01:00 committed by Eloy Lafuente (stronk7)
parent 577bd70d38
commit cc350fd9c8
34 changed files with 345 additions and 76 deletions

View file

@ -48,6 +48,7 @@ class core_message_testcase extends advanced_testcase {
$user = $this->getDataGenerator()->create_user();
$message = new \core\message\message();
$message->courseid = SITEID;
$message->component = 'moodle';
$message->name = 'instantmessage';
$message->userfrom = $USER;
@ -82,6 +83,7 @@ class core_message_testcase extends advanced_testcase {
$stdclass = $message->get_eventobject_for_processor('test');
$this->assertSame($message->courseid, $stdclass->courseid);
$this->assertSame($message->component, $stdclass->component);
$this->assertSame($message->name, $stdclass->name);
$this->assertSame($message->userfrom, $stdclass->userfrom);
@ -143,6 +145,7 @@ class core_message_testcase extends advanced_testcase {
// Extra content for all types of messages.
$message = new \core\message\message();
$message->courseid = 1;
$message->component = 'moodle';
$message->name = 'instantmessage';
$message->userfrom = $user1;
@ -171,9 +174,19 @@ class core_message_testcase extends advanced_testcase {
$this->assertRegExp('/test message body test/', $email->body);
$sink->clear();
// Test that event fired includes the courseid.
$eventsink = $this->redirectEvents();
$messageid = message_send($message);
$events = $eventsink->get_events();
$event = reset($events);
$this->assertEquals($message->courseid, $event->other['courseid']);
$eventsink->clear();
$sink->clear();
// Extra content for small message only. Shouldn't show up in emails as we sent fullmessage and fullmessagehtml only in
// the emails.
$message = new \core\message\message();
$message->courseid = 1;
$message->component = 'moodle';
$message->name = 'instantmessage';
$message->userfrom = $user1;
@ -199,6 +212,14 @@ class core_message_testcase extends advanced_testcase {
$this->assertNotEmpty($email->header);
$this->assertNotEmpty($email->body);
$this->assertNotRegExp('/test message body test/', $email->body);
// Test that event fired includes the courseid.
$eventsink = $this->redirectEvents();
$messageid = message_send($message);
$events = $eventsink->get_events();
$event = reset($events);
$this->assertEquals($message->courseid, $event->other['courseid']);
$eventsink->close();
$sink->close();
}
}