/** * Test the course information viewed. * * There is no external API for viewing course information so the unit test will simply * create and trigger the event and ensure data is returned as expected. */ public function test_course_information_viewed_event() { // Create a course. $data = new stdClass(); $course = $this->getDataGenerator()->create_course($data); // Trigger an event: course category viewed. $eventparams = array('objectid' => $course->id, 'context' => context_course::instance($course->id)); $event = \core\event\course_information_viewed::create($eventparams); // Trigger and capture the event. $sink = $this->redirectEvents(); $event->trigger(); $events = $sink->get_events(); $event = reset($events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\course_information_viewed', $event); $this->assertEquals($course->id, $event->objectid); $this->assertDebuggingNotCalled(); $sink->close(); }
} } $site = get_site(); if ($CFG->forcelogin) { require_login(); } $context = context_course::instance($course->id); if (!$course->visible and !has_capability('moodle/course:viewhiddencourses', $context)) { print_error('coursehidden', '', $CFG->wwwroot . '/'); } $PAGE->set_course($course); $PAGE->set_pagelayout('incourse'); $PAGE->set_url('/course/info.php', array('id' => $course->id)); $PAGE->set_title(get_string("summaryof", "", $course->fullname)); $PAGE->set_heading(get_string('courseinfo')); $PAGE->navbar->add(get_string('summary')); echo $OUTPUT->header(); // print enrol info if ($texts = enrol_get_course_description_texts($course)) { echo $OUTPUT->box_start('generalbox icons'); echo implode($texts); echo $OUTPUT->box_end(); } $courserenderer = $PAGE->get_renderer('core', 'course'); echo $courserenderer->course_info_box($course); echo "<br />"; // Trigger event, course information viewed. $eventparams = array('context' => $context, 'objectid' => $course->id); $event = \core\event\course_information_viewed::create($eventparams); $event->trigger(); echo $OUTPUT->footer();