mirror of
https://github.com/moodle/moodle.git
synced 2025-08-10 03:16:42 +02:00
MDL-73598 reportbuilder: feature switch for custom reports.
This commit is contained in:
parent
a01f1fa71c
commit
335012580b
6 changed files with 105 additions and 8 deletions
|
@ -63,6 +63,20 @@ class permission_test extends advanced_testcase {
|
|||
permission::require_can_view_reports_list();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether user can view reports list when custom reports are disabled
|
||||
*/
|
||||
public function test_require_can_view_reports_list_disabled(): void {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
set_config('enablecustomreports', 0);
|
||||
|
||||
$this->expectException(report_access_exception::class);
|
||||
$this->expectExceptionMessage('You cannot view this report');
|
||||
permission::require_can_view_reports_list();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether user can view specific report
|
||||
*/
|
||||
|
@ -129,6 +143,24 @@ class permission_test extends advanced_testcase {
|
|||
permission::require_can_view_report($report);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether user can view report when custom reports are disabled
|
||||
*/
|
||||
public function test_require_can_view_report_disabled(): void {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
set_config('enablecustomreports', 0);
|
||||
|
||||
/** @var core_reportbuilder_generator $generator */
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
|
||||
$report = $generator->create_report(['name' => 'My report', 'source' => users::class]);
|
||||
|
||||
$this->expectException(report_access_exception::class);
|
||||
$this->expectExceptionMessage('You cannot view this report');
|
||||
permission::require_can_view_report($report);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that user cannot edit system reports
|
||||
*/
|
||||
|
@ -206,6 +238,24 @@ class permission_test extends advanced_testcase {
|
|||
permission::require_can_edit_report($reportadmin);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether user can edit report when custom reports are disabled
|
||||
*/
|
||||
public function test_require_can_edit_report_disabled(): void {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
set_config('enablecustomreports', 0);
|
||||
|
||||
/** @var core_reportbuilder_generator $generator */
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
|
||||
$report = $generator->create_report(['name' => 'My report', 'source' => users::class]);
|
||||
|
||||
$this->expectException(report_access_exception::class);
|
||||
$this->expectExceptionMessage('You cannot edit this report');
|
||||
permission::require_can_edit_report($report);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that user can create a new report
|
||||
*/
|
||||
|
@ -248,4 +298,22 @@ class permission_test extends advanced_testcase {
|
|||
$this->expectExceptionMessage('You cannot create a new report');
|
||||
permission::require_can_create_report((int)$user3->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether user can create report when custom reports are disabled
|
||||
*/
|
||||
public function test_require_can_create_report_disabled(): void {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
set_config('enablecustomreports', 0);
|
||||
|
||||
/** @var core_reportbuilder_generator $generator */
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
|
||||
$report = $generator->create_report(['name' => 'My report', 'source' => users::class]);
|
||||
|
||||
$this->expectException(report_access_exception::class);
|
||||
$this->expectExceptionMessage('You cannot create a new report');
|
||||
permission::require_can_create_report();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue