mirror of
https://github.com/moodle/moodle.git
synced 2025-08-08 02:16:41 +02:00
Merge branch 'MDL-75447' of https://github.com/paulholden/moodle
This commit is contained in:
commit
c3f0e19d67
2 changed files with 22 additions and 8 deletions
|
@ -50,10 +50,10 @@ class audience_test extends advanced_testcase {
|
|||
public function test_get_base_records(): void {
|
||||
$this->resetAfterTest();
|
||||
|
||||
// Report with no audiences.
|
||||
/** @var core_reportbuilder_generator $generator */
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
|
||||
|
||||
// Report with no audiences.
|
||||
$report = $generator->create_report([
|
||||
'name' => 'My report',
|
||||
'source' => users::class,
|
||||
|
@ -65,13 +65,14 @@ class audience_test extends advanced_testcase {
|
|||
// Create a couple of manual audience types.
|
||||
$user1 = $this->getDataGenerator()->create_user();
|
||||
$user2 = $this->getDataGenerator()->create_user();
|
||||
$generator->create_audience([
|
||||
$audience1 = $generator->create_audience([
|
||||
'reportid' => $report->get('id'),
|
||||
'classname' => manual::class,
|
||||
'configdata' => ['users' => [$user1->id, $user2->id]],
|
||||
]);
|
||||
|
||||
$user3 = $this->getDataGenerator()->create_user();
|
||||
$generator->create_audience([
|
||||
$audience2 = $generator->create_audience([
|
||||
'reportid' => $report->get('id'),
|
||||
'classname' => manual::class,
|
||||
'configdata' => ['users' => [$user3->id]],
|
||||
|
@ -79,8 +80,17 @@ class audience_test extends advanced_testcase {
|
|||
|
||||
$baserecords = audience::get_base_records($report->get('id'));
|
||||
$this->assertCount(2, $baserecords);
|
||||
$this->assertInstanceOf(manual::class, $baserecords[0]);
|
||||
$this->assertInstanceOf(manual::class, $baserecords[1]);
|
||||
$this->assertContainsOnlyInstancesOf(manual::class, $baserecords);
|
||||
|
||||
// Set invalid classname of first audience, should be excluded in subsequent request.
|
||||
$audience1->get_persistent()->set('classname', '\invalid')->save();
|
||||
|
||||
$baserecords = audience::get_base_records($report->get('id'));
|
||||
$this->assertCount(1, $baserecords);
|
||||
|
||||
$baserecord = reset($baserecords);
|
||||
$this->assertInstanceOf(manual::class, $baserecord);
|
||||
$this->assertEquals($audience2->get_persistent()->get('id'), $baserecord->get_persistent()->get('id'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue