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_badges\reportbuilder\datasource;
19
namespace core_badges\reportbuilder\datasource;
20
 
20
 
21
use core_badges_generator;
-
 
22
use core_reportbuilder_generator;
21
use core_badges_generator;
23
use core_reportbuilder_testcase;
22
use core_reportbuilder_generator;
-
 
23
use core_reportbuilder\local\filters\{boolean_select, date, select, tags, text};
Línea 24... Línea 24...
24
use core_reportbuilder\local\filters\{boolean_select, date, select, tags, text};
24
use core_reportbuilder\manager;
Línea 25... Línea 25...
25
use core_reportbuilder\manager;
25
use core_reportbuilder\tests\core_reportbuilder_testcase;
26
 
-
 
27
defined('MOODLE_INTERNAL') || die();
26
 
Línea 28... Línea 27...
28
 
27
defined('MOODLE_INTERNAL') || die();
29
global $CFG;
28
 
30
require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
29
global $CFG;
Línea 124... Línea 123...
124
        // These two columns have been asserted previously, we're only adding them for consistent sorting.
123
        // These two columns have been asserted previously, we're only adding them for consistent sorting.
125
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:name', 'sortenabled' => 1]);
124
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:name', 'sortenabled' => 1]);
126
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:fullname', 'sortenabled' => 1]);
125
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:fullname', 'sortenabled' => 1]);
Línea 127... Línea 126...
127
 
126
 
-
 
127
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:namewithlink']);
128
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:namewithlink']);
128
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:namewithimagelink']);
129
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:criteria']);
129
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:criteria']);
130
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:image']);
130
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:image']);
131
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:language']);
131
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:language']);
132
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:version']);
132
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:version']);
Línea 145... Línea 145...
145
 
145
 
146
        $expectedbadgeonelink = \html_writer::link(new \moodle_url('/badges/overview.php',
146
        $expectedbadgeonelink = \html_writer::link(new \moodle_url('/badges/overview.php',
Línea 147... Línea 147...
147
            ['id' => $badgeone->id]), ($badgeone->name));
147
            ['id' => $badgeone->id]), ($badgeone->name));
148
 
148
 
149
        // First badge, issued to user one.
149
        // First badge, issued to user one.
150
        [$badgename, $fullname, $namewithlink, $criteria, $image, $language, $version, $status, $expiry, $tag, $expires,
150
        [$badgename, $fullname, $namewithlink, $namewithimagelink, $criteria, $image, $language, $version, $status, $expiry, $tag,
151
            $visible, $coursename] = array_values($content[0]);
151
            $expires, $visible, $coursename] = array_values($content[0]);
152
        $this->assertEquals($badgeone->name, $badgename);
152
        $this->assertEquals($badgeone->name, $badgename);
-
 
153
        $this->assertEquals(fullname($user1), $fullname);
153
        $this->assertEquals(fullname($user1), $fullname);
154
        $this->assertEquals($expectedbadgeonelink, $namewithlink);
154
        $this->assertEquals($expectedbadgeonelink, $namewithlink);
155
        $this->assertEquals($image . ' ' . $expectedbadgeonelink, $namewithimagelink);
155
        $this->assertStringContainsString('Awarded by: Manager', $criteria);
156
        $this->assertStringContainsString('Awarded by: Manager', $criteria);
156
        $this->assertStringContainsString('Image caption', $image);
157
        $this->assertStringContainsString('Image caption', $image);
157
        $this->assertEquals('German', $language);
158
        $this->assertEquals('German', $language);
Línea 162... Línea 163...
162
        $this->assertNotEmpty($expires);
163
        $this->assertNotEmpty($expires);
163
        $this->assertEquals('Yes', $visible);
164
        $this->assertEquals('Yes', $visible);
164
        $this->assertEquals('PHPUnit test site', $coursename);
165
        $this->assertEquals('PHPUnit test site', $coursename);
Línea 165... Línea 166...
165
 
166
 
166
        // First badge, issued to user two.
167
        // First badge, issued to user two.
167
        [$badgename, $fullname, $namewithlink, $criteria, $image, $language, $version, $status, $expiry, $tag, $expires,
168
        [$badgename, $fullname, $namewithlink, $namewithimagelink, $criteria, $image, $language, $version, $status, $expiry, $tag,
168
            $visible, $coursename] = array_values($content[1]);
169
            $expires, $visible, $coursename] = array_values($content[1]);
169
        $this->assertEquals($badgeone->name, $badgename);
170
        $this->assertEquals($badgeone->name, $badgename);
170
        $this->assertEquals(fullname($user2), $fullname);
171
        $this->assertEquals(fullname($user2), $fullname);
-
 
172
        $this->assertEquals($expectedbadgeonelink, $namewithlink);
171
        $this->assertEquals($expectedbadgeonelink, $namewithlink);
173
        $this->assertEquals($image . ' ' . $expectedbadgeonelink, $namewithimagelink);
172
        $this->assertStringContainsString('Awarded by: Manager', $criteria);
174
        $this->assertStringContainsString('Awarded by: Manager', $criteria);
173
        $this->assertStringContainsString('Image caption', $image);
175
        $this->assertStringContainsString('Image caption', $image);
174
        $this->assertEquals('German', $language);
176
        $this->assertEquals('German', $language);
175
        $this->assertEquals(2, $version);
177
        $this->assertEquals(2, $version);
Línea 182... Línea 184...
182
 
184
 
183
        $expectedbadgetwolink = \html_writer::link(new \moodle_url('/badges/overview.php',
185
        $expectedbadgetwolink = \html_writer::link(new \moodle_url('/badges/overview.php',
Línea 184... Línea 186...
184
            ['id' => $badgetwo->id]), ($badgetwo->name));
186
            ['id' => $badgetwo->id]), ($badgetwo->name));
185
 
187
 
186
        // Course badge, not issues to any users.
188
        // Course badge, not issues to any users.
187
        [$badgename, $fullname, $namewithlink, $criteria, $image, $language, $version, $status, $expiry, $tag, $expires,
189
        [$badgename, $fullname, $namewithlink, $namewithimagelink, $criteria, $image, $language, $version, $status, $expiry, $tag,
188
            $visible, $coursename] = array_values($content[2]);
190
            $expires, $visible, $coursename] = array_values($content[2]);
189
        $this->assertEquals($badgetwo->name, $badgename);
191
        $this->assertEquals($badgetwo->name, $badgename);
-
 
192
        $this->assertEmpty($fullname);
190
        $this->assertEmpty($fullname);
193
        $this->assertEquals($expectedbadgetwolink, $namewithlink);
191
        $this->assertEquals($expectedbadgetwolink, $namewithlink);
194
        $this->assertEquals($image . ' ' . $expectedbadgetwolink, $namewithimagelink);
192
        $this->assertEquals('Criteria for this badge have not been set up yet.', $criteria);
195
        $this->assertStringContainsString('no-criteria-set', $criteria);
193
        $this->assertStringContainsString('Image caption', $image);
196
        $this->assertStringContainsString('Image caption', $image);
194
        $this->assertEquals('English', $language);
197
        $this->assertEquals('English', $language);
195
        $this->assertEquals(2, $version);
198
        $this->assertEquals(2, $version);
196
        $this->assertEquals('Available', $status);
199
        $this->assertEquals('Available', $status);
197
        $this->assertEquals('Never', $expiry);
200
        $this->assertEquals('Never: this badge does not expire.', $expiry);
198
        $this->assertEmpty($tag);
201
        $this->assertEmpty($tag);
199
        $this->assertEmpty($expires);
202
        $this->assertEmpty($expires);
200
        $this->assertEmpty($visible);
203
        $this->assertEmpty($visible);
Línea 375... Línea 378...
375
 
378
 
376
        /** @var core_reportbuilder_generator $generator */
379
        /** @var core_reportbuilder_generator $generator */
Línea 377... Línea 380...
377
        $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
380
        $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
378
 
381
 
379
        // Create report containing single username column, and given filter.
382
        // Create report containing single username column, and given filter.
Línea 380... Línea 383...
380
        $report = $generator->create_report(['name' => 'My report', 'source' => badges::class, 'default' => 0]);
383
        $report = $generator->create_report(['name' => 'Badges', 'source' => badges::class, 'default' => 0]);
381
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:name']);
384
        $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'badge:name']);
382
 
385