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