diff --git a/admin/tool/log/store/database/tests/store_test.php b/admin/tool/log/store/database/tests/store_test.php index e71e58e0f67..05633efb663 100644 --- a/admin/tool/log/store/database/tests/store_test.php +++ b/admin/tool/log/store/database/tests/store_test.php @@ -224,4 +224,25 @@ class logstore_database_store_testcase extends advanced_testcase { set_config('enabled_stores', '', 'tool_log'); get_log_manager(true); } + + /** + * Test logmanager::get_supported_reports returns all reports that require this store. + */ + public function test_get_supported_reports() { + $logmanager = get_log_manager(); + $allreports = \core_component::get_plugin_list('report'); + + $supportedreports = array( + 'log' => '/report/log', + 'loglive' => '/report/loglive' + ); + + // Make sure all supported reports are installed. + $expectedreports = array_keys(array_intersect_key($allreports, $supportedreports)); + $reports = $logmanager->get_supported_reports('logstore_database'); + $reports = array_keys($reports); + foreach ($expectedreports as $expectedreport) { + $this->assertContains($expectedreport, $reports); + } + } } diff --git a/admin/tool/log/store/legacy/tests/store_test.php b/admin/tool/log/store/legacy/tests/store_test.php index 89479dcf6b8..00629bfbeb9 100644 --- a/admin/tool/log/store/legacy/tests/store_test.php +++ b/admin/tool/log/store/legacy/tests/store_test.php @@ -249,4 +249,28 @@ class logstore_legacy_store_testcase extends advanced_testcase { \logstore_legacy\test\unittest_logstore_legacy::replace_sql_legacy($selectwhere, $params, $sort); $this->assertSame('ip DESC', $sort); } + + /* + * Test logmanager::get_supported_reports returns all reports that require this store. + */ + public function test_get_supported_reports() { + $logmanager = get_log_manager(); + $allreports = \core_component::get_plugin_list('report'); + + $supportedreports = array( + 'log' => '/report/log', + 'loglive' => '/report/loglive', + 'outline' => '/report/outline', + 'participation' => '/report/participation', + 'stats' => '/report/stats' + ); + + // Make sure all supported reports are installed. + $expectedreports = array_keys(array_intersect_key($allreports, $supportedreports)); + $reports = $logmanager->get_supported_reports('logstore_legacy'); + $reports = array_keys($reports); + foreach ($expectedreports as $expectedreport) { + $this->assertContains($expectedreport, $reports); + } + } } diff --git a/admin/tool/log/store/standard/tests/store_test.php b/admin/tool/log/store/standard/tests/store_test.php index 78a4c900f70..7244b687f75 100644 --- a/admin/tool/log/store/standard/tests/store_test.php +++ b/admin/tool/log/store/standard/tests/store_test.php @@ -195,4 +195,28 @@ class logstore_standard_store_testcase extends advanced_testcase { set_config('enabled_stores', '', 'tool_log'); get_log_manager(true); } + + /** + * Test logmanager::get_supported_reports returns all reports that require this store. + */ + public function test_get_supported_reports() { + $logmanager = get_log_manager(); + $allreports = \core_component::get_plugin_list('report'); + + $supportedreports = array( + 'log' => '/report/log', + 'loglive' => '/report/loglive', + 'outline' => '/report/outline', + 'participation' => '/report/participation', + 'stats' => '/report/stats' + ); + + // Make sure all supported reports are installed. + $expectedreports = array_keys(array_intersect_key($allreports, $supportedreports)); + $reports = $logmanager->get_supported_reports('logstore_standard'); + $reports = array_keys($reports); + foreach ($expectedreports as $expectedreport) { + $this->assertContains($expectedreport, $reports); + } + } }