Proyectos de Subversion Moodle

Rev

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

Rev 1 Rev 1441
Línea 19... Línea 19...
19
namespace core_reportbuilder\external;
19
namespace core_reportbuilder\external;
Línea 20... Línea 20...
20
 
20
 
21
use advanced_testcase;
21
use advanced_testcase;
22
use context_system;
22
use context_system;
-
 
23
use moodle_url;
23
use moodle_url;
24
use core_reportbuilder\output\report_action;
24
use core_reportbuilder\system_report_available;
25
use core_reportbuilder\system_report_available;
Línea 25... Línea 26...
25
use core_reportbuilder\system_report_factory;
26
use core_reportbuilder\system_report_factory;
26
 
27
 
Línea 30... Línea 31...
30
 * @package     core_reportbuilder
31
 * @package     core_reportbuilder
31
 * @covers      \core_reportbuilder\external\system_report_exporter
32
 * @covers      \core_reportbuilder\external\system_report_exporter
32
 * @copyright   2021 Paul Holden <paulh@moodle.com>
33
 * @copyright   2021 Paul Holden <paulh@moodle.com>
33
 * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
34
 * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
34
 */
35
 */
35
class system_report_exporter_test extends advanced_testcase {
36
final class system_report_exporter_test extends advanced_testcase {
Línea 36... Línea 37...
36
 
37
 
37
    /**
38
    /**
38
     * Load test fixture
39
     * Load test fixture
39
     */
40
     */
40
    public static function setUpBeforeClass(): void {
41
    public static function setUpBeforeClass(): void {
Línea 41... Línea 42...
41
        global $CFG;
42
        global $CFG;
-
 
43
 
42
 
44
        require_once("{$CFG->dirroot}/reportbuilder/tests/fixtures/system_report_available.php");
Línea 43... Línea 45...
43
        require_once("{$CFG->dirroot}/reportbuilder/tests/fixtures/system_report_available.php");
45
        parent::setUpBeforeClass();
44
    }
46
    }
45
 
47
 
46
    /**
48
    /**
47
     * Data provider for {@see test_export}
49
     * Data provider for {@see test_export}
48
     *
50
     *
49
     * @return array[]
51
     * @return array[]
50
     */
52
     */
51
    public function export_provider(): array {
53
    public static function export_provider(): array {
52
        return [
54
        return [
53
            ['With filters' => true],
55
            'With filters' => [true],
Línea 54... Línea 56...
54
            ['Without filters' => false],
56
            'Without filters' => [false],
55
        ];
57
        ];
Línea 68... Línea 70...
68
        $this->resetAfterTest();
70
        $this->resetAfterTest();
Línea 69... Línea 71...
69
 
71
 
70
        // Prevent debug warnings from flexible_table.
72
        // Prevent debug warnings from flexible_table.
Línea 71... Línea 73...
71
        $PAGE->set_url(new moodle_url('/'));
73
        $PAGE->set_url(new moodle_url('/'));
-
 
74
 
-
 
75
        $instance = system_report_factory::create(system_report_available::class, context_system::instance(), '', '', 0,
-
 
76
            ['withfilters' => $withfilters]);
72
 
77
        $instance->set_report_action(new report_action('Add', []));
73
        $systemreport = system_report_factory::create(system_report_available::class, context_system::instance(), '', '', 0,
78
        $instance->set_report_info_container('Hello');
74
            ['withfilters' => $withfilters])->add_attributes(['data-foo' => 'bar', 'data-another' => '1']);
79
        $instance->add_attributes(['data-foo' => 'bar', 'data-another' => '1']);
75
 
80
 
76
        $exporter = new system_report_exporter($systemreport->get_report_persistent(), [
81
        $exporter = new system_report_exporter($instance->get_report_persistent(), [
77
            'source' => $systemreport,
82
            'source' => $instance,
Línea 78... Línea 83...
78
            'parameters' => json_encode($systemreport->get_parameters()),
83
            'parameters' => json_encode($instance->get_parameters()),
79
        ]);
84
        ]);
-
 
85
 
-
 
86
        $data = $exporter->export($PAGE->get_renderer('core_reportbuilder'));
Línea 80... Línea 87...
80
 
87
        $this->assertNotEmpty($data->table);
81
        $data = $exporter->export($PAGE->get_renderer('core_reportbuilder'));
88
        $this->assertNotEmpty($data->button);
82
        $this->assertNotEmpty($data->table);
89
        $this->assertEquals('Hello', $data->infocontainer);
83
 
90