| Línea 27... |
Línea 27... |
| 27 |
* @package core_user
|
27 |
* @package core_user
|
| 28 |
* @category test
|
28 |
* @category test
|
| 29 |
* @copyright 2013 Rajesh Taneja <rajesh@moodle.com>
|
29 |
* @copyright 2013 Rajesh Taneja <rajesh@moodle.com>
|
| 30 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
30 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
| 31 |
*/
|
31 |
*/
|
| 32 |
class userlib_test extends \advanced_testcase {
|
32 |
final class userlib_test extends \advanced_testcase {
|
| 33 |
/**
|
33 |
/**
|
| 34 |
* Test user_get_user_details_courses
|
34 |
* Test user_get_user_details_courses
|
| 35 |
*/
|
35 |
*/
|
| 36 |
public function test_user_get_user_details_courses(): void {
|
36 |
public function test_user_get_user_details_courses(): void {
|
| 37 |
global $DB;
|
37 |
global $DB;
|
| Línea 384... |
Línea 384... |
| 384 |
/**
|
384 |
/**
|
| 385 |
* Data provider for {@link self::test_create_user_invalid_username()}.
|
385 |
* Data provider for {@link self::test_create_user_invalid_username()}.
|
| 386 |
*
|
386 |
*
|
| 387 |
* @return array
|
387 |
* @return array
|
| 388 |
*/
|
388 |
*/
|
| 389 |
public function data_create_user_invalid_username() {
|
389 |
public static function data_create_user_invalid_username(): array {
|
| 390 |
return [
|
390 |
return [
|
| 391 |
'empty_string' => [
|
391 |
'empty_string' => [
|
| 392 |
'',
|
392 |
'',
|
| 393 |
'The username cannot be blank',
|
393 |
'The username cannot be blank',
|
| 394 |
],
|
394 |
],
|
| Línea 848... |
Línea 848... |
| 848 |
role_assign($studentrole->id, $student->id, $coursecontext->id);
|
848 |
role_assign($studentrole->id, $student->id, $coursecontext->id);
|
| Línea 849... |
Línea 849... |
| 849 |
|
849 |
|
| Línea 850... |
Línea 850... |
| 850 |
accesslib_clear_all_caches_for_unit_testing();
|
850 |
accesslib_clear_all_caches_for_unit_testing();
|
| - |
|
851 |
|
| 851 |
|
852 |
// Get student details as a user with super system capabilities.
|
| 852 |
// Get student details as a user with super system capabilities.
|
853 |
$this->setAdminUser();
|
| 853 |
$result = user_get_user_details($student, $course1);
|
854 |
$result = user_get_user_details($student, $course1);
|
| - |
|
855 |
$this->assertEquals($student->id, $result['id']);
|
| - |
|
856 |
$this->assertEquals($studentfullname, $result['fullname']);
|
| 854 |
$this->assertEquals($student->id, $result['id']);
|
857 |
$this->assertEquals($student->firstname, $result['firstname']);
|
| Línea 855... |
Línea -... |
| 855 |
$this->assertEquals($studentfullname, $result['fullname']);
|
- |
|
| 856 |
$this->assertEquals($course1->id, $result['enrolledcourses'][0]['id']);
|
858 |
$this->assertEquals($student->lastname, $result['lastname']);
|
| - |
|
859 |
$this->assertEquals($course1->id, $result['enrolledcourses'][0]['id']);
|
| 857 |
|
860 |
|
| 858 |
$this->setUser($teacher);
|
861 |
// Get student details as a user who can only see this user in a course.
|
| 859 |
// Get student details as a user who can only see this user in a course.
|
862 |
$this->setUser($teacher);
|
| - |
|
863 |
$result = user_get_user_details($student, $course1);
|
| - |
|
864 |
$this->assertEquals($student->id, $result['id']);
|
| 860 |
$result = user_get_user_details($student, $course1);
|
865 |
$this->assertEquals($studentfullname, $result['fullname']);
|
| Línea 861... |
Línea 866... |
| 861 |
$this->assertEquals($student->id, $result['id']);
|
866 |
$this->assertEquals($student->firstname, $result['firstname']);
|
| 862 |
$this->assertEquals($studentfullname, $result['fullname']);
|
867 |
$this->assertEquals($student->lastname, $result['lastname']);
|
| 863 |
$this->assertEquals($course1->id, $result['enrolledcourses'][0]['id']);
|
868 |
$this->assertEquals($course1->id, $result['enrolledcourses'][0]['id']);
|
| 864 |
|
869 |
|
| 865 |
// Get student details with required fields.
|
870 |
// Get student details with required fields.
|
| - |
|
871 |
$result = user_get_user_details($student, $course1, array('id', 'fullname'));
|
| - |
|
872 |
$this->assertCount(2, $result);
|
| - |
|
873 |
$this->assertEquals($student->id, $result['id']);
|
| - |
|
874 |
$this->assertEquals($studentfullname, $result['fullname']);
|
| - |
|
875 |
$this->assertArrayNotHasKey('firstname', $result);
|
| - |
|
876 |
$this->assertArrayNotHasKey('lastname', $result);
|
| - |
|
877 |
$this->assertArrayNotHasKey('enrolledcourses', $result);
|
| - |
|
878 |
|
| - |
|
879 |
// Change fullname display format for a user with viewfullnames capability.
|
| - |
|
880 |
set_config('fullnamedisplay', 'firstname');
|
| - |
|
881 |
$result = user_get_user_details($student, $course1);
|
| - |
|
882 |
$this->assertEquals($studentfullname, $result['fullname']);
|
| - |
|
883 |
$this->assertEquals($student->firstname, $result['firstname']);
|
| - |
|
884 |
$this->assertEquals($student->lastname, $result['lastname']);
|
| - |
|
885 |
|
| - |
|
886 |
// Now check for a user without viewfullnames capability.
|
| - |
|
887 |
$this->setUser($student);
|
| Línea 866... |
Línea 888... |
| 866 |
$result = user_get_user_details($student, $course1, array('id', 'fullname'));
|
888 |
$result = user_get_user_details($teacher, $course1);
|
| 867 |
$this->assertCount(2, $result);
|
889 |
$this->assertEquals($teacher->firstname, $result['fullname']);
|
| 868 |
$this->assertEquals($student->id, $result['id']);
|
890 |
$this->assertEquals($teacher->firstname, $result['firstname']);
|
| 869 |
$this->assertEquals($studentfullname, $result['fullname']);
|
891 |
$this->assertArrayNotHasKey('lastname', $result);
|
| Línea 1046... |
Línea 1068... |
| 1046 |
|
1068 |
|
| 1047 |
$this->assertCount(3, $result);
|
1069 |
$this->assertCount(3, $result);
|
| 1048 |
$this->assertCount(1, $result['groups']);
|
1070 |
$this->assertCount(1, $result['groups']);
|
| 1049 |
$this->assertEquals($group2->id, $result['groups'][0]['id']);
|
1071 |
$this->assertEquals($group2->id, $result['groups'][0]['id']);
|
| - |
|
1072 |
}
|
| - |
|
1073 |
|
| - |
|
1074 |
/**
|
| - |
|
1075 |
* Verifies that the get_name_placeholders function correctly generates
|
| - |
|
1076 |
* an array of name placeholders for a given user object.
|
| - |
|
1077 |
*
|
| - |
|
1078 |
* @covers ::get_name_placeholders()
|
| - |
|
1079 |
*/
|
| - |
|
1080 |
public function test_get_name_placeholders(): void {
|
| - |
|
1081 |
$this->resetAfterTest();
|
| - |
|
1082 |
|
| - |
|
1083 |
// Set format for fullname and alternativefullname.
|
| - |
|
1084 |
set_config('fullnamedisplay', 'firstname, lastname');
|
| - |
|
1085 |
set_config('alternativefullnameformat', 'firstnamephonetic lastnamephonetic');
|
| - |
|
1086 |
|
| - |
|
1087 |
// Create the target user.
|
| - |
|
1088 |
$user = $this->getDataGenerator()->create_user([
|
| - |
|
1089 |
'firstname' => 'FN',
|
| - |
|
1090 |
'lastname' => 'LN',
|
| - |
|
1091 |
'firstnamephonetic' => 'FNP',
|
| - |
|
1092 |
'lastnamephonetic' => 'LNP',
|
| - |
|
1093 |
'middlename' => 'MN',
|
| - |
|
1094 |
'alternatename' => 'AN',
|
| - |
|
1095 |
]);
|
| - |
|
1096 |
|
| - |
|
1097 |
// Add user name fields to $a as an object based on $user.
|
| - |
|
1098 |
$a = new \stdClass();
|
| - |
|
1099 |
$placeholders = \core_user::get_name_placeholders($user);
|
| - |
|
1100 |
foreach ($placeholders as $field => $value) {
|
| - |
|
1101 |
$a->{$field} = $value;
|
| - |
|
1102 |
}
|
| - |
|
1103 |
$this->assertEquals("Hello $a->firstname", "Hello FN");
|
| - |
|
1104 |
$this->assertEquals("Bonjour $a->fullname", "Bonjour FN, LN");
|
| - |
|
1105 |
$this->assertEquals("Privyet $a->alternativefullname", "Privyet FNP LNP");
|
| - |
|
1106 |
$this->assertEquals("Hola $a->alternatename '$a->middlename' $a->lastname", "Hola AN 'MN' LN");
|
| 1050 |
}
|
1107 |
}
|