. declare(strict_types=1); use core_reportbuilder\table\custom_report_table_view; /** * Helper base class for reportbuilder unit tests * * @package core_reportbuilder * @copyright 2021 Paul Holden * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class core_reportbuilder_testcase extends advanced_testcase { /** * Retrieve content for given report as array of report data * * @param int $reportid * @param int $pagesize * @return array[] */ protected function get_custom_report_content(int $reportid, int $pagesize = 30): array { $records = []; // Create table instance. $table = custom_report_table_view::create($reportid); $table->setup(); $table->query_db($pagesize, false); // Extract raw data. foreach ($table->rawdata as $record) { $records[] = $table->format_row($record); } $table->close_recordset(); return $records; } }