/** * Test the dashboard viewed event. * * There is no external API for viewing the dashboard, so the unit test will simply * create and trigger the event and ensure data is returned as expected. */ public function test_dashboard_viewed() { $user = $this->user; // Trigger an event: dashboard viewed. $eventparams = array('context' => $context = context_user::instance($user->id)); $event = \core\event\dashboard_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\\dashboard_viewed', $event); $this->assertEquals($user->id, $event->userid); $this->assertDebuggingNotCalled(); }
} // Add button for editing page $params = array('edit' => !$edit); $resetbutton = ''; $resetstring = get_string('resetpage', 'my'); $reseturl = new moodle_url("{$CFG->wwwroot}/my/index.php", array('edit' => 1, 'reset' => 1)); if (!$currentpage->userid) { // viewing a system page -- let the user customise it $editstring = get_string('updatemymoodleon'); $params['edit'] = 1; } else { if (empty($edit)) { $editstring = get_string('updatemymoodleon'); } else { $editstring = get_string('updatemymoodleoff'); $resetbutton = $OUTPUT->single_button($reseturl, $resetstring); } } $url = new moodle_url("{$CFG->wwwroot}/my/index.php", $params); $button = $OUTPUT->single_button($url, $editstring); $PAGE->set_button($resetbutton . $button); } else { $USER->editing = $edit = 0; } echo $OUTPUT->header(); echo $OUTPUT->custom_block_region('content'); echo $OUTPUT->footer(); // Trigger dashboard has been viewed event. $eventparams = array('context' => $context); $event = \core\event\dashboard_viewed::create($eventparams); $event->trigger();