/** * There is no api involved so the best we can do is test legacy data by triggering event manually. */ public function test_aggregate_grades_reset_event() { $this->resetAfterTest(); $this->setAdminUser(); $event = \mod_workshop\event\assessment_evaluations_reset::create(array('context' => $this->context, 'courseid' => $this->course->id, 'other' => array('workshopid' => $this->workshop->id))); // Trigger and capture the event. $sink = $this->redirectEvents(); $event->trigger(); $events = $sink->get_events(); $event = reset($events); // Check that the legacy log data is valid. $expected = array($this->course->id, 'workshop', 'update clear aggregated grade', 'view.php?id=' . $this->cm->id, $this->workshop->id, $this->cm->id); $this->assertEventLegacyLogData($expected, $event); $sink->close(); }
* @copyright 2010 David Mudrak <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require __DIR__ . '/../../config.php'; require_once __DIR__ . '/locallib.php'; $id = required_param('id', PARAM_INT); // course_module ID $tool = required_param('tool', PARAM_ALPHA); $cm = get_coursemodule_from_id('workshop', $id, 0, false, MUST_EXIST); $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); $workshop = $DB->get_record('workshop', array('id' => $cm->instance), '*', MUST_EXIST); require_login($course, false, $cm); $workshop = new workshop($workshop, $cm, $course); require_sesskey(); $params = array('context' => $workshop->context, 'courseid' => $course->id, 'other' => array('workshopid' => $workshop->id)); switch ($tool) { case 'clearaggregatedgrades': require_capability('mod/workshop:overridegrades', $workshop->context); $workshop->clear_submission_grades(); $workshop->clear_grading_grades(); $event = \mod_workshop\event\assessment_evaluations_reset::create($params); $event->trigger(); break; case 'clearassessments': require_capability('mod/workshop:overridegrades', $workshop->context); $workshop->clear_assessments(); $event = \mod_workshop\event\assessments_reset::create($params); $event->trigger(); break; } redirect($workshop->view_url());