MDL-65976 completion: New course completion message provider

This commit is contained in:
Juan Leyva
2020-09-29 13:41:49 +02:00
parent 8b026809c5
commit b294665c21
6 changed files with 67 additions and 2 deletions
+26
View File
@@ -978,6 +978,32 @@ class core_completionlib_testcase extends advanced_testcase {
$this->assertEventLegacyData($data, $event);
}
/**
* Test course completed message.
*/
public function test_course_completed_message() {
$this->setup_data();
$this->setAdminUser();
$completionauto = array('completion' => COMPLETION_TRACKING_AUTOMATIC);
$ccompletion = new completion_completion(array('course' => $this->course->id, 'userid' => $this->user->id));
// Mark course as complete and get the message.
$sink = $this->redirectMessages();
$ccompletion->mark_complete();
$messages = $sink->get_messages();
$sink->close();
$this->assertCount(1, $messages);
$message = array_pop($messages);
$this->assertEquals(core_user::get_noreply_user()->id, $message->useridfrom);
$this->assertEquals($this->user->id, $message->useridto);
$this->assertEquals('coursecompleted', $message->eventtype);
$this->assertEquals(get_string('coursecompleted', 'completion'), $message->subject);
$this->assertContains($this->course->fullname, $message->fullmessage);
}
/**
* Test course completed event.
*/