Proyectos de Subversion Moodle

Rev

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

Rev 11 Rev 1441
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
        );