diff --git a/reportbuilder/tests/local/aggregation/avg_test.php b/reportbuilder/tests/local/aggregation/avg_test.php index 86123c3c7de..b03d254b950 100644 --- a/reportbuilder/tests/local/aggregation/avg_test.php +++ b/reportbuilder/tests/local/aggregation/avg_test.php @@ -54,25 +54,21 @@ class avg_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. - $generator->create_column( - ['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:suspended', 'aggregation' => avg::get_class_name()] - ); + // Report columns, aggregated/sorted by user suspended. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); + $generator->create_column([ + 'reportid' => $report->get('id'), + 'uniqueidentifier' => 'user:suspended', + 'aggregation' => avg::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, + ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_suspended' => '0.0', - ], - [ - 'c0_firstname' => 'Bob', - 'c1_suspended' => '0.5', - ], - ], $content); + ['Bob', '0.5'], + ['Admin', '0.0'], + ], array_map('array_values', $content)); } /** diff --git a/reportbuilder/tests/local/aggregation/count_test.php b/reportbuilder/tests/local/aggregation/count_test.php index cbdc62b4c96..70f82ce3388 100644 --- a/reportbuilder/tests/local/aggregation/count_test.php +++ b/reportbuilder/tests/local/aggregation/count_test.php @@ -53,24 +53,20 @@ class count_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user lastname. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ - 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:lastname', 'aggregation' => count::get_class_name()] - ); + 'reportid' => $report->get('id'), + 'uniqueidentifier' => 'user:lastname', + 'aggregation' => count::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, + ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_lastname' => 1, - ], - [ - 'c0_firstname' => 'Bob', - 'c1_lastname' => 3, - ], - ], $content); + ['Bob', 3], + ['Admin', 1], + ], array_map('array_values', $content)); } } diff --git a/reportbuilder/tests/local/aggregation/countdistinct_test.php b/reportbuilder/tests/local/aggregation/countdistinct_test.php index a3103c3cdc3..e8a09081978 100644 --- a/reportbuilder/tests/local/aggregation/countdistinct_test.php +++ b/reportbuilder/tests/local/aggregation/countdistinct_test.php @@ -53,27 +53,21 @@ class countdistinct_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user lastname. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:lastname', 'aggregation' => countdistinct::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_lastname' => 1, - ], - [ - 'c0_firstname' => 'Bob', - 'c1_lastname' => 2, - ], - ], $content); + ['Bob', 2], + ['Admin', 1], + ], array_map('array_values', $content)); } /** diff --git a/reportbuilder/tests/local/aggregation/groupconcat_test.php b/reportbuilder/tests/local/aggregation/groupconcat_test.php index 94b6e9643e7..0d0dd50ca06 100644 --- a/reportbuilder/tests/local/aggregation/groupconcat_test.php +++ b/reportbuilder/tests/local/aggregation/groupconcat_test.php @@ -57,28 +57,22 @@ class groupconcat_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user lastname. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:lastname', 'aggregation' => groupconcat::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_ASC, ]); - // Assert lastname column was aggregated, and sorted predictably. + // Assert lastname column was aggregated, and itself also sorted predictably. $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_lastname' => 'User', - ], - [ - 'c0_firstname' => 'Bob', - 'c1_lastname' => 'Apple, Banana, Banana', - ], - ], $content); + ['Bob', 'Apple, Banana, Banana'], + ['Admin', 'User'], + ], array_map('array_values', $content)); } /** diff --git a/reportbuilder/tests/local/aggregation/groupconcatdistinct_test.php b/reportbuilder/tests/local/aggregation/groupconcatdistinct_test.php index 0477ba8a423..1753b88beb3 100644 --- a/reportbuilder/tests/local/aggregation/groupconcatdistinct_test.php +++ b/reportbuilder/tests/local/aggregation/groupconcatdistinct_test.php @@ -67,28 +67,22 @@ class groupconcatdistinct_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user lastname. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:lastname', 'aggregation' => groupconcatdistinct::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_ASC, ]); - // Assert lastname column was aggregated, and sorted predictably. + // Assert lastname column was aggregated, and itself also sorted predictably. $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_lastname' => 'User', - ], - [ - 'c0_firstname' => 'Bob', - 'c1_lastname' => 'Apple, Banana', - ], - ], $content); + ['Bob', 'Apple, Banana'], + ['Admin', 'User'], + ], array_map('array_values', $content)); } /** diff --git a/reportbuilder/tests/local/aggregation/max_test.php b/reportbuilder/tests/local/aggregation/max_test.php index 546900507c8..1b034c93f67 100644 --- a/reportbuilder/tests/local/aggregation/max_test.php +++ b/reportbuilder/tests/local/aggregation/max_test.php @@ -52,24 +52,20 @@ class max_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. - $generator->create_column( - ['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:suspended', 'aggregation' => max::get_class_name()] - ); + // Report columns, aggregated/sorted by user suspended. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); + $generator->create_column([ + 'reportid' => $report->get('id'), + 'uniqueidentifier' => 'user:suspended', + 'aggregation' => max::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, + ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_suspended' => 'No', - ], - [ - 'c0_firstname' => 'Bob', - 'c1_suspended' => 'Yes', - ], - ], $content); + ['Bob', 'Yes'], + ['Admin', 'No'], + ], array_map('array_values', $content)); } } diff --git a/reportbuilder/tests/local/aggregation/min_test.php b/reportbuilder/tests/local/aggregation/min_test.php index 6f5503846b2..6de8117e3f0 100644 --- a/reportbuilder/tests/local/aggregation/min_test.php +++ b/reportbuilder/tests/local/aggregation/min_test.php @@ -45,31 +45,27 @@ class min_test extends core_reportbuilder_testcase { $this->resetAfterTest(); // Test subjects. + $this->getDataGenerator()->create_user(['firstname' => 'Admin', 'suspended' => 1]); $this->getDataGenerator()->create_user(['firstname' => 'Bob', 'suspended' => 1]); - $this->getDataGenerator()->create_user(['firstname' => 'Bob', 'suspended' => 0]); /** @var core_reportbuilder_generator $generator */ $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user suspended. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ - 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:suspended', 'aggregation' => min::get_class_name()] - ); + 'reportid' => $report->get('id'), + 'uniqueidentifier' => 'user:suspended', + 'aggregation' => min::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, + ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_suspended' => 'No', - ], - [ - 'c0_firstname' => 'Bob', - 'c1_suspended' => 'No', - ], - ], $content); + ['Bob', 'Yes'], + ['Admin', 'No'], + ], array_map('array_values', $content)); } } diff --git a/reportbuilder/tests/local/aggregation/percent_test.php b/reportbuilder/tests/local/aggregation/percent_test.php index cbf84343873..82d1c8481ce 100644 --- a/reportbuilder/tests/local/aggregation/percent_test.php +++ b/reportbuilder/tests/local/aggregation/percent_test.php @@ -52,24 +52,20 @@ class percent_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user suspended. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ - 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:suspended', 'aggregation' => percent::get_class_name()] - ); + 'reportid' => $report->get('id'), + 'uniqueidentifier' => 'user:suspended', + 'aggregation' => percent::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, + ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_suspended' => '0.0%', - ], - [ - 'c0_firstname' => 'Bob', - 'c1_suspended' => '50.0%', - ], - ], $content); + ['Bob', '50.0%'], + ['Admin', '0.0%'], + ], array_map('array_values', $content)); } } diff --git a/reportbuilder/tests/local/aggregation/sum_test.php b/reportbuilder/tests/local/aggregation/sum_test.php index c8b8aaa467e..ba081838211 100644 --- a/reportbuilder/tests/local/aggregation/sum_test.php +++ b/reportbuilder/tests/local/aggregation/sum_test.php @@ -55,25 +55,21 @@ class sum_test extends core_reportbuilder_testcase { $generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder'); $report = $generator->create_report(['name' => 'Users', 'source' => users::class, 'default' => 0]); - // First column, sorted. - $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname', 'sortenabled' => 1]); - - // This is the column we'll aggregate. + // Report columns, aggregated/sorted by user suspended. + $generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'user:firstname']); $generator->create_column([ - 'reportid' => $report->get('id'), 'uniqueidentifier' => 'user:suspended', 'aggregation' => sum::get_class_name() + 'reportid' => $report->get('id'), + 'uniqueidentifier' => 'user:suspended', + 'aggregation' => sum::get_class_name(), + 'sortenabled' => 1, + 'sortdirection' => SORT_DESC, ]); $content = $this->get_custom_report_content($report->get('id')); $this->assertEquals([ - [ - 'c0_firstname' => 'Admin', - 'c1_suspended' => 0, - ], - [ - 'c0_firstname' => 'Bob', - 'c1_suspended' => 2, - ], - ], $content); + ['Bob', 2], + ['Admin', 0], + ], array_map('array_values', $content)); } /**