Proyectos de Subversion Moodle

Rev

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

Rev 1 Rev 1441
Línea 18... Línea 18...
18
 
18
 
Línea 19... Línea 19...
19
namespace core_role\reportbuilder\datasource;
19
namespace core_role\reportbuilder\datasource;
20
 
20
 
21
use core\context\course;
-
 
22
use core_reportbuilder_generator;
21
use core\context\course;
23
use core_reportbuilder_testcase;
-
 
24
use core_reportbuilder\local\filters\{date, select, text};
-
 
25
 
-
 
26
defined('MOODLE_INTERNAL') || die();
-
 
27
 
22
use core_reportbuilder_generator;
Línea 28... Línea 23...
28
global $CFG;
23
use core_reportbuilder\local\filters\{date, select, text};
29
require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
24
use core_reportbuilder\tests\core_reportbuilder_testcase;
30
 
25
 
31
/**
26
/**
32
 * Unit tests for roles datasource
27
 * Unit tests for roles datasource
33
 *
28
 *
34
 * @package     core_role
29
 * @package     core_role
35
 * @covers      \core_role\reportbuilder\datasource\roles;
30
 * @covers      \core_role\reportbuilder\datasource\roles
36
 * @copyright   2024 Paul Holden <paulh@moodle.com>
31
 * @copyright   2024 Paul Holden <paulh@moodle.com>
Línea 102... Línea 97...
102
        $report = $generator->create_report(['name' => 'Roles', 'source' => roles::class, 'default' => 0]);
97
        $report = $generator->create_report(['name' => 'Roles', 'source' => roles::class, 'default' => 0]);
Línea 103... Línea 98...
103
 
98
 
104
        // Role.
99
        // Role.
105
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:name']);
100
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:name']);
-
 
101
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:shortname']);
106
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:shortname']);
102
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:archetype']);
Línea 107... Línea 103...
107
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:description']);
103
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role:description']);
108
 
104
 
109
        // Role assignment.
105
        // Role assignment.
110
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role_assignment:timemodified']);
106
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role_assignment:timemodified']);
Línea 111... Línea 107...
111
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role_assignment:component']);
107
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role_assignment:component']);
112
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role_assignment:itemid']);
108
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'role_assignment:itemid']);
Línea -... Línea 109...
-
 
109
 
-
 
110
        $content = $this->get_custom_report_content($report->get('id'));
-
 
111
        $this->assertCount(1, $content);
-
 
112
 
-
 
113
        [
-
 
114
            $rolename,
-
 
115
            $roleshortname,
-
 
116
            $rolearchetype,
113
 
117
            $roledescription,
Línea 114... Línea 118...
114
        $content = $this->get_custom_report_content($report->get('id'));
118
            $timemodified,
115
        $this->assertCount(1, $content);
119
            $component,
116
 
120
            $itemid,
-
 
121
        ] = array_values($content[0]);
117
        [$rolename, $roleshortname, $roledescription, $timemodified, $component, $itemid] = array_values($content[0]);
122
 
118
 
123
        // Role.
Línea 119... Línea 124...
119
        // Role.
124
        $this->assertEquals('Moocher (Manager)', $rolename);
120
        $this->assertEquals('Moocher (Manager)', $rolename);
125
        $this->assertEquals('manager', $roleshortname);
Línea 142... Línea 147...
142
                'role:name_operator' => select::EQUAL_TO,
147
                'role:name_operator' => select::EQUAL_TO,
143
                'role:name_value' => $DB->get_field('role', 'id', ['shortname' => 'student']),
148
                'role:name_value' => $DB->get_field('role', 'id', ['shortname' => 'student']),
144
            ], true],
149
            ], true],
145
            'Filter role name (no match)' => ['role:name', [
150
            'Filter role name (no match)' => ['role:name', [
146
                'role:name_operator' => select::EQUAL_TO,
151
                'role:name_operator' => select::EQUAL_TO,
-
 
152
                'role:name_value' => $DB->get_field('role', 'id', ['shortname' => 'teacher']),
-
 
153
            ], false],
-
 
154
            'Filter role archetype' => ['role:archetype', [
-
 
155
                'role:archetype_operator' => select::EQUAL_TO,
147
                'role:name_value' => -1,
156
                'role:archetype_value' => 'student',
-
 
157
            ], true],
-
 
158
            'Filter role archetype (no match)' => ['role:archetype', [
-
 
159
                'role:archetype_operator' => select::EQUAL_TO,
-
 
160
                'role:archetype_value' => 'teacher',
148
            ], false],
161
            ], false],
Línea 149... Línea 162...
149
 
162
 
150
            // Role assignment.
163
            // Role assignment.
151
            'Filter role assignment time modified' => ['role_assignment:timemodified', [
164
            'Filter role assignment time modified' => ['role_assignment:timemodified', [