MDL-60518 core_user: A user with ID 0 is never a real user

This commit is contained in:
Frédéric Massart
2018-12-14 10:27:41 +01:00
committed by Amaia Anabitarte
parent c8b4ee45a4
commit 7dcc1e721c
3 changed files with 44 additions and 4 deletions
+40
View File
@@ -732,4 +732,44 @@ class core_user_testcase extends advanced_testcase {
$this->assertNotEquals($enuser, $xxuser);
}
/**
* Test is_real_user method.
*/
public function test_is_real_user() {
global $CFG, $USER;
// Real users are real users.
$auser = $this->getDataGenerator()->create_user();
$guest = guest_user();
$this->assertTrue(\core_user::is_real_user($auser->id));
$this->assertTrue(\core_user::is_real_user($auser->id, true));
$this->assertTrue(\core_user::is_real_user($guest->id));
$this->assertTrue(\core_user::is_real_user($guest->id, true));
// Non-logged in users are not real users.
$this->assertSame(0, $USER->id, 'The non-logged in user should have an ID of 0.');
$this->assertFalse(\core_user::is_real_user($USER->id));
$this->assertFalse(\core_user::is_real_user($USER->id, true));
// Other types of logged in users are real users.
$this->setAdminUser();
$this->assertTrue(\core_user::is_real_user($USER->id));
$this->assertTrue(\core_user::is_real_user($USER->id, true));
$this->setGuestUser();
$this->assertTrue(\core_user::is_real_user($USER->id));
$this->assertTrue(\core_user::is_real_user($USER->id, true));
$this->setUser($auser);
$this->assertTrue(\core_user::is_real_user($USER->id));
$this->assertTrue(\core_user::is_real_user($USER->id, true));
// Fake accounts are not real users.
$CFG->noreplyuserid = null;
$this->assertFalse(\core_user::is_real_user(core_user::get_noreply_user()->id));
$this->assertFalse(\core_user::is_real_user(core_user::get_noreply_user()->id, true));
$CFG->supportuserid = null;
$CFG->supportemail = '[email protected]';
$this->assertFalse(\core_user::is_real_user(core_user::get_support_user()->id));
$this->assertFalse(\core_user::is_real_user(core_user::get_support_user()->id, true));
}
}