Exemple #1
0
 /**
  * Test the badge created event.
  *
  * There is no external API for creating a badge, so the unit test will simply
  * create and trigger the event and ensure data is returned as expected.
  */
 public function test_badge_created()
 {
     $badge = new badge($this->badgeid);
     // Trigger an event: badge created.
     $eventparams = array('userid' => $badge->usercreated, 'objectid' => $badge->id, 'context' => $badge->get_context());
     $event = \core\event\badge_created::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\\badge_created', $event);
     $this->assertEquals($badge->usercreated, $event->userid);
     $this->assertEquals($badge->id, $event->objectid);
     $this->assertDebuggingNotCalled();
     $sink->close();
 }
Exemple #2
0
        $fordb->usermodified = $USER->id;
        $fordb->issuername = $data->issuername;
        $fordb->issuerurl = $data->issuerurl;
        $fordb->issuercontact = $data->issuercontact;
        $fordb->expiredate = $data->expiry == 1 ? $data->expiredate : null;
        $fordb->expireperiod = $data->expiry == 2 ? $data->expireperiod : null;
        $fordb->type = $type;
        $fordb->courseid = $type == BADGE_TYPE_COURSE ? $courseid : null;
        $fordb->messagesubject = get_string('messagesubject', 'badges');
        $fordb->message = get_string('messagebody', 'badges', html_writer::link($CFG->wwwroot . '/badges/mybadges.php', get_string('managebadges', 'badges')));
        $fordb->attachment = 1;
        $fordb->notification = BADGE_MESSAGE_NEVER;
        $fordb->status = BADGE_STATUS_INACTIVE;
        $newid = $DB->insert_record('badge', $fordb, true);
        // Trigger event, badge created.
        $eventparams = array('objectid' => $newid, 'context' => $PAGE->context);
        $event = \core\event\badge_created::create($eventparams);
        $event->trigger();
        $newbadge = new badge($newid);
        badges_process_badge_image($newbadge, $form->save_temp_file('image'));
        // If a user can configure badge criteria, they will be redirected to the criteria page.
        if (has_capability('moodle/badges:configurecriteria', $PAGE->context)) {
            redirect(new moodle_url('/badges/criteria.php', array('id' => $newid)));
        }
        redirect(new moodle_url('/badges/overview.php', array('id' => $newid)));
    }
}
echo $OUTPUT->header();
echo $OUTPUT->box('', 'notifyproblem hide', 'check_connection');
$form->display();
echo $OUTPUT->footer();