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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user