| Línea 22... | 
            Línea 22... | 
          
          
            | 22 | 
            use core_reportbuilder\manager;
  | 
            22 | 
            use core_reportbuilder\manager;
  | 
          
          
            | 23 | 
            use core_reportbuilder_generator;
  | 
            23 | 
            use core_reportbuilder_generator;
  | 
          
          
            | 24 | 
            use moodle_url;
  | 
            24 | 
            use moodle_url;
  | 
          
          
            | 25 | 
            use core_reportbuilder\local\helpers\user_filter_manager;
  | 
            25 | 
            use core_reportbuilder\local\helpers\user_filter_manager;
  | 
          
          
            | 26 | 
            use core_reportbuilder\local\filters\text;
  | 
            26 | 
            use core_reportbuilder\local\filters\text;
  | 
          
          
            | - | 
               | 
            27 | 
            use core_reportbuilder\output\report_action;
  | 
          
          
            | 27 | 
            use core_user\reportbuilder\datasource\users;
  | 
            28 | 
            use core_user\reportbuilder\datasource\users;
  | 
          
          
            | Línea 28... | 
            Línea 29... | 
          
          
            | 28 | 
             
  | 
            29 | 
             
  | 
          
          
            | 29 | 
            /**
  | 
            30 | 
            /**
  | 
          
          
            | 30 | 
             * Unit tests for custom report exporter
  | 
            31 | 
             * Unit tests for custom report exporter
  | 
          
          
            | 31 | 
             *
  | 
            32 | 
             *
  | 
          
          
            | 32 | 
             * @package     core_reportbuilder
  | 
            33 | 
             * @package     core_reportbuilder
  | 
          
          
            | 33 | 
             * @covers      \core_reportbuilder\external\custom_report_exporter
  | 
            34 | 
             * @covers      \core_reportbuilder\external\custom_report_exporter
  | 
          
          
            | 34 | 
             * @copyright   2022 Paul Holden <paulh@moodle.com>
  | 
            35 | 
             * @copyright   2022 Paul Holden <paulh@moodle.com>
  | 
          
          
            | 35 | 
             * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  | 
            36 | 
             * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  | 
          
          
            | 36 | 
             */
  | 
            37 | 
             */
  | 
          
          
            | Línea 37... | 
            Línea 38... | 
          
          
            | 37 | 
            class custom_report_exporter_test extends advanced_testcase {
  | 
            38 | 
            final class custom_report_exporter_test extends advanced_testcase {
  | 
          
          
            | 38 | 
             
  | 
            39 | 
             
  | 
          
          
            | 39 | 
                /**
  | 
            40 | 
                /**
  | 
          
          
            | 40 | 
                 * Test exported data structure when editing a report
  | 
            41 | 
                 * Test exported data structure when editing a report
  | 
          
          
            | Línea 45... | 
            Línea 46... | 
          
          
            | 45 | 
                    $this->resetAfterTest();
  | 
            46 | 
                    $this->resetAfterTest();
  | 
          
          
            | Línea 46... | 
            Línea 47... | 
          
          
            | 46 | 
             
  | 
            47 | 
             
  | 
          
          
            | 47 | 
                    /** @var core_reportbuilder_generator $generator */
  | 
            48 | 
                    /** @var core_reportbuilder_generator $generator */
  | 
          
          
            | 48 | 
                    $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
  | 
            49 | 
                    $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
  | 
          
          
            | - | 
               | 
            50 | 
                    $report = $generator->create_report(['name' => 'My report', 'source' => users::class, 'default' => false]);
  | 
          
          
            | - | 
               | 
            51 | 
             
  | 
          
          
            | - | 
               | 
            52 | 
                    $instance = manager::get_report_from_persistent($report);
  | 
          
          
            | - | 
               | 
            53 | 
                    $instance->set_report_action(new report_action('Add', []));
  | 
          
          
            | 49 | 
                    $report = $generator->create_report(['name' => 'My report', 'source' => users::class, 'default' => false]);
  | 
            54 | 
                    $instance->set_report_info_container('Hello');
  | 
          
          
            | Línea 50... | 
            Línea 55... | 
          
          
            | 50 | 
                    manager::get_report_from_persistent($report)->add_attributes(['data-foo' => 'bar', 'data-another' => '1']);
  | 
            55 | 
                    $instance->add_attributes(['data-foo' => 'bar', 'data-another' => '1']);
  | 
          
          
            | Línea 51... | 
            Línea 56... | 
          
          
            | 51 | 
             
  | 
            56 | 
             
  | 
          
          
            | 52 | 
                    $PAGE->set_url(new moodle_url('/'));
  | 
            57 | 
                    $PAGE->set_url(new moodle_url('/'));
  | 
          
          
            | Línea 53... | 
            Línea 58... | 
          
          
            | 53 | 
             
  | 
            58 | 
             
  | 
          
          
            | - | 
               | 
            59 | 
                    $exporter = new custom_report_exporter($report, [], true);
  | 
          
          
            | 54 | 
                    $exporter = new custom_report_exporter($report, [], true);
  | 
            60 | 
                    $export = $exporter->export($PAGE->get_renderer('core_reportbuilder'));
  | 
          
          
            | 55 | 
                    $export = $exporter->export($PAGE->get_renderer('core_reportbuilder'));
  | 
            61 | 
             
  | 
          
          
            | 56 | 
             
  | 
            62 | 
                    $this->assertNotEmpty($export->table);
  | 
          
          
            | 57 | 
                    $this->assertNotEmpty($export->table);
  | 
            63 | 
                    $this->assertEquals('Hello', $export->infocontainer);
  | 
          
          
            | 58 | 
                    $this->assertEquals(0, $export->filtersapplied);
  | 
            64 | 
                    $this->assertEquals(0, $export->filtersapplied);
  | 
          
          
            | Línea 65... | 
            Línea 71... | 
          
          
            | 65 | 
                    $this->assertNotEmpty($export->sidebarmenucards);
  | 
            71 | 
                    $this->assertNotEmpty($export->sidebarmenucards);
  | 
          
          
            | 66 | 
                    $this->assertNotEmpty($export->conditions);
  | 
            72 | 
                    $this->assertNotEmpty($export->conditions);
  | 
          
          
            | 67 | 
                    $this->assertNotEmpty($export->filters);
  | 
            73 | 
                    $this->assertNotEmpty($export->filters);
  | 
          
          
            | 68 | 
                    $this->assertNotEmpty($export->sorting);
  | 
            74 | 
                    $this->assertNotEmpty($export->sorting);
  | 
          
          
            | 69 | 
                    $this->assertNotEmpty($export->cardview);
  | 
            75 | 
                    $this->assertNotEmpty($export->cardview);
  | 
          
          
            | - | 
               | 
            76 | 
             
  | 
          
          
            | - | 
               | 
            77 | 
                    // The following should not be present when editing.
  | 
          
          
            | - | 
               | 
            78 | 
                    $this->assertObjectNotHasProperty('button', $export);
  | 
          
          
            | 70 | 
                }
  | 
            79 | 
                }
  | 
          
          
            | Línea 71... | 
            Línea 80... | 
          
          
            | 71 | 
             
  | 
            80 | 
             
  | 
          
          
            | 72 | 
                /**
  | 
            81 | 
                /**
  | 
          
          
            | 73 | 
                 * Test exported data structure when viewing a report
  | 
            82 | 
                 * Test exported data structure when viewing a report
  | 
          
          
            | Línea 78... | 
            Línea 87... | 
          
          
            | 78 | 
                    $this->resetAfterTest();
  | 
            87 | 
                    $this->resetAfterTest();
  | 
          
          
            | Línea 79... | 
            Línea 88... | 
          
          
            | 79 | 
             
  | 
            88 | 
             
  | 
          
          
            | 80 | 
                    /** @var core_reportbuilder_generator $generator */
  | 
            89 | 
                    /** @var core_reportbuilder_generator $generator */
  | 
          
          
            | 81 | 
                    $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
  | 
            90 | 
                    $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
  | 
          
          
            | - | 
               | 
            91 | 
                    $report = $generator->create_report(['name' => 'My report', 'source' => users::class, 'default' => false]);
  | 
          
          
            | - | 
               | 
            92 | 
             
  | 
          
          
            | - | 
               | 
            93 | 
                    $instance = manager::get_report_from_persistent($report);
  | 
          
          
            | - | 
               | 
            94 | 
                    $instance->set_report_action(new report_action('Add', []));
  | 
          
          
            | 82 | 
                    $report = $generator->create_report(['name' => 'My report', 'source' => users::class, 'default' => false]);
  | 
            95 | 
                    $instance->set_report_info_container('Hello');
  | 
          
          
            | Línea 83... | 
            Línea 96... | 
          
          
            | 83 | 
                    manager::get_report_from_persistent($report)->add_attributes(['data-foo' => 'bar', 'data-another' => '1']);
  | 
            96 | 
                    $instance->add_attributes(['data-foo' => 'bar', 'data-another' => '1']);
  | 
          
          
            | Línea 84... | 
            Línea 97... | 
          
          
            | 84 | 
             
  | 
            97 | 
             
  | 
          
          
            | 85 | 
                    $PAGE->set_url(new moodle_url('/'));
  | 
            98 | 
                    $PAGE->set_url(new moodle_url('/'));
  | 
          
          
            | Línea 86... | 
            Línea 99... | 
          
          
            | 86 | 
             
  | 
            99 | 
             
  | 
          
          
            | - | 
               | 
            100 | 
                    $exporter = new custom_report_exporter($report, ['pagesize' => 10], false);
  | 
          
          
            | 87 | 
                    $exporter = new custom_report_exporter($report, ['pagesize' => 10], false);
  | 
            101 | 
                    $export = $exporter->export($PAGE->get_renderer('core_reportbuilder'));
  | 
          
          
            | 88 | 
                    $export = $exporter->export($PAGE->get_renderer('core_reportbuilder'));
  | 
            102 | 
             
  | 
          
          
            | 89 | 
             
  | 
            103 | 
                    $this->assertNotEmpty($export->table);
  | 
          
          
            | 90 | 
                    $this->assertNotEmpty($export->table);
  | 
            104 | 
                    $this->assertEquals('Hello', $export->infocontainer);
  | 
          
          
            | 91 | 
                    $this->assertEquals(0, $export->filtersapplied);
  | 
            105 | 
                    $this->assertEquals(0, $export->filtersapplied);
  | 
          
          
            | 92 | 
                    $this->assertFalse($export->filterspresent);
  | 
            106 | 
                    $this->assertFalse($export->filterspresent);
  | 
          
          
            | 93 | 
                    $this->assertEmpty($export->filtersform);
  | 
            107 | 
                    $this->assertEmpty($export->filtersform);
  | 
          
          
            | 94 | 
                    $this->assertFalse($export->editmode);
  | 
            108 | 
                    $this->assertFalse($export->editmode);
  | 
          
          
            | Línea 95... | 
            Línea 109... | 
          
          
            | 95 | 
                    $this->assertEquals([
  | 
            109 | 
                    $this->assertEquals([
  | 
          
          
            | - | 
               | 
            110 | 
                        ['name' => 'data-foo', 'value' => 'bar'],
  | 
          
          
            | - | 
               | 
            111 | 
                        ['name' => 'data-another', 'value' => '1']
  | 
          
          
            | - | 
               | 
            112 | 
                    ], $export->attributes);
  | 
          
          
            | 96 | 
                        ['name' => 'data-foo', 'value' => 'bar'],
  | 
            113 | 
             
  | 
          
          
            | 97 | 
                        ['name' => 'data-another', 'value' => '1']
  | 
            114 | 
                    // The following are all generated by additional exporters.
  | 
          
          
            | 98 | 
                    ], $export->attributes);
  | 
            115 | 
                    $this->assertNotEmpty($export->button);
  | 
          
          
            | 99 | 
             
  | 
            116 | 
             
  | 
          
          
            | 100 | 
                    // The following are all generated by additional exporters, and should not be present when not editing.
  | 
            117 | 
                    // The following should not be present when viewing.
  |