Esempio n. 1
0
 /**
  * Test the group override created event.
  *
  * There is no external API for creating a group override, so the unit test will simply
  * create and trigger the event and ensure the event data is returned as expected.
  */
 public function test_group_override_created()
 {
     $course = $this->getDataGenerator()->create_course();
     $assign = $this->getDataGenerator()->create_module('assign', array('course' => $course->id));
     $params = array('objectid' => 1, 'context' => context_module::instance($assign->cmid), 'other' => array('assignid' => $assign->id, 'groupid' => 2));
     $event = \mod_assign\event\group_override_created::create($params);
     // 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('\\mod_assign\\event\\group_override_created', $event);
     $this->assertEquals(context_module::instance($assign->cmid), $event->get_context());
     $this->assertEventContextNotUsed($event);
 }
Esempio n. 2
0
                 if (!$overridecountgroup && $overridecountall) {
                     // No group overrides and there are user overrides.
                     $fromform->sortorder = 1;
                 } else {
                     $fromform->sortorder = $overridecountgroup;
                 }
                 $DB->update_record('assign_overrides', $fromform);
             }
             // Determine which override created event to fire.
             $params['objectid'] = $fromform->id;
             if (!$groupmode) {
                 $params['relateduserid'] = $fromform->userid;
                 $event = \mod_assign\event\user_override_created::create($params);
             } else {
                 $params['other']['groupid'] = $fromform->groupid;
                 $event = \mod_assign\event\group_override_created::create($params);
             }
             // Trigger the override created event.
             $event->trigger();
         }
         assign_update_events($assign, $fromform);
         if (!empty($fromform->submitbutton)) {
             redirect($overridelisturl);
         }
         // The user pressed the 'again' button, so redirect back to this page.
         $url->remove_params('cmid');
         $url->param('action', 'duplicate');
         $url->param('id', $fromform->id);
         redirect($url);
     }
 }