MDL-45641 event: Option to trigger user event manually

On some pages full user data is not stored before user_created/
user_updated event is triggred. So giving option to trigger that
manually, so it can be triggred after all data is saved
This commit is contained in:
Rajesh Taneja
2014-06-27 16:18:45 +08:00
parent 5c1049f72b
commit 7345a2af94
7 changed files with 95 additions and 25 deletions
+24
View File
@@ -76,6 +76,22 @@ class core_userliblib_testcase extends advanced_testcase {
user_update_user($user, false);
$dbuser = $DB->get_record('user', array('id' => $user->id));
$this->assertSame($password, $dbuser->password);
// Verify event is not triggred by user_update_user when needed.
$sink = $this->redirectEvents();
user_update_user($user, false, false);
$events = $sink->get_events();
$sink->close();
$this->assertCount(0, $events);
// With password, there should be 1 event.
$sink = $this->redirectEvents();
user_update_user($user, true, false);
$events = $sink->get_events();
$sink->close();
$this->assertCount(1, $events);
$event = array_pop($events);
$this->assertInstanceOf('\core\event\user_updated', $event);
}
/**
@@ -128,5 +144,13 @@ class core_userliblib_testcase extends advanced_testcase {
$this->assertEventLegacyData($dbuser, $event);
$expectedlogdata = array(SITEID, 'user', 'add', '/view.php?id='.$event->objectid, fullname($dbuser));
$this->assertEventLegacyLogData($expectedlogdata, $event);
// Verify event is not triggred by user_create_user when needed.
$user = array('username' => 'usernametest2'); // Create another user.
$sink = $this->redirectEvents();
user_create_user($user, true, false);
$events = $sink->get_events();
$sink->close();
$this->assertCount(0, $events);
}
}