Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
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
    }