Línea 36... |
Línea 36... |
36 |
* Unit tests for the gradereport_grader implementation of the privacy API.
|
36 |
* Unit tests for the gradereport_grader implementation of the privacy API.
|
37 |
*
|
37 |
*
|
38 |
* @copyright 2018 Sara Arjona <sara@moodle.com>
|
38 |
* @copyright 2018 Sara Arjona <sara@moodle.com>
|
39 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
39 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
40 |
*/
|
40 |
*/
|
41 |
class provider_test extends \core_privacy\tests\provider_testcase {
|
41 |
final class provider_test extends \core_privacy\tests\provider_testcase {
|
Línea 42... |
Línea 42... |
42 |
|
42 |
|
43 |
/**
|
43 |
/**
|
44 |
* Basic setup for these tests.
|
44 |
* Basic setup for these tests.
|
45 |
*/
|
45 |
*/
|
- |
|
46 |
public function setUp(): void {
|
46 |
public function setUp(): void {
|
47 |
parent::setUp();
|
47 |
$this->resetAfterTest(true);
|
48 |
$this->resetAfterTest(true);
|
Línea 48... |
Línea 49... |
48 |
}
|
49 |
}
|
Línea 88... |
Línea 89... |
88 |
|
89 |
|
89 |
/**
|
90 |
/**
|
90 |
* Ensure that export_user_preferences returns preferences.
|
91 |
* Ensure that export_user_preferences returns preferences.
|
91 |
*/
|
92 |
*/
|
92 |
public function test_export_user_preferences_multiple(): void {
|
- |
|
93 |
// Create a course and add a user preference.
|
93 |
public function test_export_user_preferences_multiple(): void {
|
94 |
$user = $this->getDataGenerator()->create_user();
|
94 |
$user = $this->getDataGenerator()->create_user();
|
- |
|
95 |
$this->setUser($user);
|
- |
|
96 |
|
- |
|
97 |
// Set preference for an invalid course.
|
- |
|
98 |
set_user_preference('grade_report_grader_collapsed_categories42', serialize(['gradesonly' => []]));
|
- |
|
99 |
|
95 |
$this->setUser($user);
|
100 |
// Set preferences for a couple of valid courses.
|
- |
|
101 |
$courseone = $this->getDataGenerator()->create_course();
|
96 |
$course = $this->getDataGenerator()->create_course();
|
102 |
$courseonepreferencename = "grade_report_grader_collapsed_categories{$courseone->id}";
|
- |
|
103 |
$courseonepreferencevalue = serialize(['aggregatesonly' => [], 'gradesonly' => []]);
|
- |
|
104 |
set_user_preference($courseonepreferencename, $courseonepreferencevalue);
|
- |
|
105 |
|
97 |
$collapsed = serialize(['aggregatesonly' => array(), 'gradesonly' => array()]);
|
106 |
$coursetwo = $this->getDataGenerator()->create_course();
|
- |
|
107 |
$coursetwopreferencename = "grade_report_grader_collapsed_categories{$coursetwo->id}";
|
- |
|
108 |
$coursetwopreferencevalue = serialize(['gradesonly' => [], 'aggregatesonly' => []]);
|
Línea 98... |
Línea 109... |
98 |
set_user_preference('grade_report_grader_collapsed_categories'.$course->id, $collapsed, $user);
|
109 |
set_user_preference($coursetwopreferencename, $coursetwopreferencevalue);
|
99 |
|
110 |
|
100 |
// Validate exported data.
|
111 |
// Validate exported data.
|
101 |
provider::export_user_preferences($user->id);
|
112 |
provider::export_user_preferences($user->id);
|
102 |
$context = \context_user::instance($user->id);
|
113 |
$context = \context_user::instance($user->id);
|
103 |
/** @var \core_privacy\tests\request\content_writer $writer */
|
114 |
/** @var \core_privacy\tests\request\content_writer $writer */
|
104 |
$writer = writer::with_context($context);
|
115 |
$writer = writer::with_context($context);
|
105 |
$this->assertTrue($writer->has_any_data());
|
116 |
$this->assertTrue($writer->has_any_data());
|
- |
|
117 |
$prefs = $writer->get_user_preferences('gradereport_grader');
|
- |
|
118 |
$this->assertCount(2, (array) $prefs);
|
- |
|
119 |
|
- |
|
120 |
$this->assertEquals($courseonepreferencevalue, $prefs->{$courseonepreferencename}->value);
|
- |
|
121 |
$this->assertEquals(
|
- |
|
122 |
get_string('privacy:request:preference:grade_report_grader_collapsed_categories', 'gradereport_grader', [
|
- |
|
123 |
'name' => $courseone->fullname,
|
- |
|
124 |
]),
|
- |
|
125 |
$prefs->{$courseonepreferencename}->description,
|
- |
|
126 |
);
|
106 |
$prefs = $writer->get_user_preferences('gradereport_grader');
|
127 |
|
107 |
$this->assertCount(1, (array) $prefs);
|
128 |
$this->assertEquals($coursetwopreferencevalue, $prefs->{$coursetwopreferencename}->value);
|
- |
|
129 |
$this->assertEquals(
|
- |
|
130 |
get_string('privacy:request:preference:grade_report_grader_collapsed_categories', 'gradereport_grader', [
|
108 |
$this->assertEquals(
|
131 |
'name' => $coursetwo->fullname,
|
109 |
get_string('privacy:request:preference:grade_report_grader_collapsed_categories', 'gradereport_grader', ['name' => $course->fullname]),
|
132 |
]),
|
110 |
$prefs->grade_report_grader_collapsed_categories->description
|
133 |
$prefs->{$coursetwopreferencename}->description,
|
111 |
);
|
134 |
);
|