public function test_recent_capability_viewed()
 {
     $this->resetAfterTest();
     $this->setAdminUser();
     $course = $this->getDataGenerator()->create_course();
     $context = context_course::instance($course->id);
     $event = \core\event\recent_activity_viewed::create(array('context' => $context));
     // Trigger and capture the event.
     $sink = $this->redirectEvents();
     $event->trigger();
     $events = $sink->get_events();
     $event = reset($events);
     $this->assertInstanceOf('\\core\\event\\recent_activity_viewed', $event);
     $this->assertEquals($context, $event->get_context());
     $expected = array($course->id, "course", "recent", "recent.php?id={$course->id}", $course->id);
     $this->assertEventLegacyLogData($expected, $event);
     $this->assertEventContextNotUsed($event);
     $url = new moodle_url('/course/recent.php', array('id' => $course->id));
     $this->assertEquals($url, $event->get_url());
     $event->get_name();
 }
 * @copyright 1999 Martin Dougiamas  http://dougiamas.com
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 * @package course
 */
require_once '../config.php';
require_once 'lib.php';
require_once 'recent_form.php';
$id = required_param('id', PARAM_INT);
$PAGE->set_url('/course/recent.php', array('id' => $id));
$PAGE->set_pagelayout('report');
if (!($course = $DB->get_record('course', array('id' => $id)))) {
    print_error("That's an invalid course id");
}
require_login($course);
$context = context_course::instance($course->id);
\core\event\recent_activity_viewed::create(array('context' => $context))->trigger();
$lastlogin = time() - COURSE_MAX_RECENT_PERIOD;
if (!isguestuser() and !empty($USER->lastcourseaccess[$COURSE->id])) {
    if ($USER->lastcourseaccess[$COURSE->id] > $lastlogin) {
        $lastlogin = $USER->lastcourseaccess[$COURSE->id];
    }
}
$param = new stdClass();
$param->user = 0;
$param->modid = 'all';
$param->group = 0;
$param->sortby = 'default';
$param->date = $lastlogin;
$param->id = $COURSE->id;
$mform = new recent_form();
$mform->set_data($param);