| Línea 22... |
Línea 22... |
| 22 |
* @package core
|
22 |
* @package core
|
| 23 |
* @copyright 2014 The Open University
|
23 |
* @copyright 2014 The Open University
|
| 24 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
24 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
| 25 |
* @covers \core_user\fields
|
25 |
* @covers \core_user\fields
|
| 26 |
*/
|
26 |
*/
|
| 27 |
class fields_test extends \advanced_testcase {
|
27 |
final class fields_test extends \advanced_testcase {
|
| Línea 28... |
Línea 28... |
| 28 |
|
28 |
|
| 29 |
/**
|
29 |
/**
|
| 30 |
* Tests getting the user picture fields.
|
30 |
* Tests getting the user picture fields.
|
| 31 |
*/
|
31 |
*/
|
| Línea 102... |
Línea 102... |
| 102 |
$this->setUser($user);
|
102 |
$this->setUser($user);
|
| 103 |
$this->assertEquals([], fields::get_identity_fields($coursecontext));
|
103 |
$this->assertEquals([], fields::get_identity_fields($coursecontext));
|
| Línea 104... |
Línea 104... |
| 104 |
|
104 |
|
| 105 |
// Give the student the basic identity fields permission (also makes them count as 'teacher'
|
105 |
// Give the student the basic identity fields permission (also makes them count as 'teacher'
|
| 106 |
// for the teacher-restricted field).
|
- |
|
| 107 |
$COURSE = $course; // Horrible hack, because PROFILE_VISIBLE_TEACHERS relies on this global.
|
106 |
// for the teacher-restricted field).
|
| 108 |
$roleid = $DB->get_field('role', 'id', ['shortname' => 'student']);
|
107 |
$roleid = $DB->get_field('role', 'id', ['shortname' => 'student']);
|
| 109 |
role_change_permission($roleid, $coursecontext, 'moodle/site:viewuseridentity', CAP_ALLOW);
|
108 |
role_change_permission($roleid, $coursecontext, 'moodle/site:viewuseridentity', CAP_ALLOW);
|
| 110 |
$this->assertEquals(['department', 'profile_field_a', 'profile_field_d'],
|
109 |
$this->assertEquals(['department', 'profile_field_a', 'profile_field_d'],
|
| 111 |
fields::get_identity_fields($coursecontext));
|
110 |
fields::get_identity_fields($coursecontext));
|
| Línea 130... |
Línea 129... |
| 130 |
// Even if we give them student role in the user context they can't view anything...
|
129 |
// Even if we give them student role in the user context they can't view anything...
|
| 131 |
$generator->role_assign($roleid, $user->id, $usercontext->id);
|
130 |
$generator->role_assign($roleid, $user->id, $usercontext->id);
|
| 132 |
$this->assertEquals([], fields::get_identity_fields($usercontext));
|
131 |
$this->assertEquals([], fields::get_identity_fields($usercontext));
|
| Línea 133... |
Línea 132... |
| 133 |
|
132 |
|
| - |
|
133 |
// Give them basic permission.
|
| 134 |
// Give them basic permission.
|
134 |
$COURSE = $course; // Horrible hack, because PROFILE_VISIBLE_TEACHERS relies on this global.
|
| 135 |
role_change_permission($roleid, $usercontext, 'moodle/site:viewuseridentity', CAP_ALLOW);
|
135 |
role_change_permission($roleid, $usercontext, 'moodle/site:viewuseridentity', CAP_ALLOW);
|
| 136 |
$this->assertEquals(['department', 'profile_field_a', 'profile_field_d'],
|
136 |
$this->assertEquals(['department', 'profile_field_a', 'profile_field_d'],
|
| 137 |
fields::get_identity_fields($usercontext));
|
137 |
fields::get_identity_fields($usercontext));
|
| 138 |
$this->assertEquals(['department'],
|
138 |
$this->assertEquals(['department'],
|
| Línea 547... |
Línea 547... |
| 547 |
/**
|
547 |
/**
|
| 548 |
* Data provider for {@see test_get_sql_fullname}
|
548 |
* Data provider for {@see test_get_sql_fullname}
|
| 549 |
*
|
549 |
*
|
| 550 |
* @return array
|
550 |
* @return array
|
| 551 |
*/
|
551 |
*/
|
| 552 |
public function get_sql_fullname_provider(): array {
|
552 |
public static function get_sql_fullname_provider(): array {
|
| 553 |
return [
|
553 |
return [
|
| 554 |
['firstname lastname', 'FN LN'],
|
554 |
['firstname lastname', 'FN LN'],
|
| 555 |
['lastname, firstname', 'LN, FN'],
|
555 |
['lastname, firstname', 'LN, FN'],
|
| 556 |
['alternatename \'middlename\' lastname!', 'AN \'MN\' LN!'],
|
556 |
['alternatename \'middlename\' lastname!', 'AN \'MN\' LN!'],
|
| 557 |
['[firstname lastname alternatename]', '[FN LN AN]'],
|
557 |
['[firstname lastname alternatename]', '[FN LN AN]'],
|