mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
MDL-51312 core_message: added unit test for the message_deleted event
This commit is contained in:
parent
b5e617e245
commit
6fff51d675
1 changed files with 58 additions and 0 deletions
|
@ -219,4 +219,62 @@ class core_message_events_testcase extends advanced_testcase {
|
|||
$url = new moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
|
||||
$this->assertEquals($url, $event->get_url());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the message deleted event.
|
||||
*/
|
||||
public function test_message_deleted() {
|
||||
global $DB;
|
||||
|
||||
// Create a message.
|
||||
$message = new stdClass();
|
||||
$message->useridfrom = '1';
|
||||
$message->useridto = '2';
|
||||
$message->subject = 'Subject';
|
||||
$message->message = 'Message';
|
||||
$message->timeuserfromdeleted = 0;
|
||||
$message->timeusertodeleted = 0;
|
||||
$message->id = $DB->insert_record('message', $message);
|
||||
|
||||
// Trigger and capture the event.
|
||||
$sink = $this->redirectEvents();
|
||||
message_delete_message($message, $message->useridfrom);
|
||||
$events = $sink->get_events();
|
||||
$event = reset($events);
|
||||
|
||||
// Check that the event data is valid.
|
||||
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
||||
$this->assertEquals($message->useridfrom, $event->userid); // The user who deleted it.
|
||||
$this->assertEquals($message->useridto, $event->relateduserid);
|
||||
$this->assertEquals('message', $event->other['messagetable']);
|
||||
$this->assertEquals($message->id, $event->other['messageid']);
|
||||
$this->assertEquals($message->useridfrom, $event->other['useridfrom']);
|
||||
$this->assertEquals($message->useridto, $event->other['useridto']);
|
||||
|
||||
// Create a read message.
|
||||
$message = new stdClass();
|
||||
$message->useridfrom = '2';
|
||||
$message->useridto = '1';
|
||||
$message->subject = 'Subject';
|
||||
$message->message = 'Message';
|
||||
$message->timeuserfromdeleted = 0;
|
||||
$message->timeusertodeleted = 0;
|
||||
$message->timeread = time();
|
||||
$message->id = $DB->insert_record('message_read', $message);
|
||||
|
||||
// Trigger and capture the event.
|
||||
$sink = $this->redirectEvents();
|
||||
message_delete_message($message, $message->useridto);
|
||||
$events = $sink->get_events();
|
||||
$event = reset($events);
|
||||
|
||||
// Check that the event data is valid.
|
||||
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
||||
$this->assertEquals($message->useridto, $event->userid);
|
||||
$this->assertEquals($message->useridfrom, $event->relateduserid);
|
||||
$this->assertEquals('message_read', $event->other['messagetable']);
|
||||
$this->assertEquals($message->id, $event->other['messageid']);
|
||||
$this->assertEquals($message->useridfrom, $event->other['useridfrom']);
|
||||
$this->assertEquals($message->useridto, $event->other['useridto']);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue