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 |
|