X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/mod/bigbluebuttonbn/tests/task
home
/
cbholdings
/
pasukulu
/
mod
/
bigbluebuttonbn
/
tests
/
task
/
📁
..
📄
check_recordings_task_test.php
(4.32 KB)
📄
send_guest_emails_test.php
(2.4 KB)
📄
send_notification_test.php
(2 KB)
📄
send_recording_ready_notification_test.php
(6.58 KB)
📄
upgrade_recordings_task_test.php
(15.58 KB)
Editing: check_recordings_task_test.php
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. namespace mod_bigbluebuttonbn\task; use advanced_testcase; use mod_bigbluebuttonbn\instance; use mod_bigbluebuttonbn\recording; use mod_bigbluebuttonbn\test\testcase_helper_trait; /** * Test class for the check_pending_recordings and check_dismissed_recordings task * * @package mod_bigbluebuttonbn * @copyright 2022 onwards, Blindside Networks Inc * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @covers \mod_bigbluebuttonbn\task\check_dismissed_recordings * @covers \mod_bigbluebuttonbn\task\check_pending_recordings * @covers \mod_bigbluebuttonbn\recording::sync_pending_recordings_from_server */ class check_recordings_task_test extends advanced_testcase { use testcase_helper_trait; /** * @var $RECORDINGS_DATA array fake recording data. */ const RECORDINGS_DATA = [ ['name' => 'Recording 1'], ['name' => 'Recording 2'], ['name' => 'Recording 3'], ['name' => 'Recording 4'], ]; /** * Setup for test */ public function setUp(): void { parent::setUp(); $this->initialise_mock_server(); $this->resetAfterTest(); } /** * Test that dismissed recordings are retrieved */ public function test_check_dismissed_recordings(): void { $this->create_meeting_and_recordings(recording::RECORDING_STATUS_DISMISSED); $this->assertEquals(4, recording::count_records()); $this->assertEquals(0, recording::count_records(['status' => recording::RECORDING_STATUS_PROCESSED])); $task = new check_dismissed_recordings(); ob_start(); $task->execute(); ob_end_clean(); $this->assertEquals(4, recording::count_records(['status' => recording::RECORDING_STATUS_PROCESSED])); } /** * Test that pending recordings are retrieved */ public function test_check_pending_recordings(): void { $this->create_meeting_and_recordings(); $this->assertEquals(4, recording::count_records()); $this->assertEquals(0, recording::count_records(['status' => recording::RECORDING_STATUS_PROCESSED])); $task = new check_pending_recordings(); ob_start(); $task->execute(); ob_end_clean(); $this->assertEquals(4, recording::count_records(['status' => recording::RECORDING_STATUS_PROCESSED])); } /** * Create sample meeting and recording. * * @param int $status status for the newly created recordings * @return array recording data (not the persistent class but plain object) */ private function create_meeting_and_recordings(int $status = recording::RECORDING_STATUS_AWAITING): array { $generator = $this->getDataGenerator()->get_plugin_generator('mod_bigbluebuttonbn'); $course = $this->getDataGenerator()->create_course(); $activity = $generator->create_instance([ 'course' => $course->id, 'type' => instance::TYPE_ALL ]); $instance = instance::get_from_instanceid($activity->id); $generator->create_meeting([ 'instanceid' => $instance->get_instance_id(), 'groupid' => $instance->get_group_id() ]); foreach (self::RECORDINGS_DATA as $data) { $rdata = $generator->create_recording( array_merge([ 'bigbluebuttonbnid' => $instance->get_instance_id(), 'groupid' => $instance->get_group_id() ], $data) ); $recording = new recording($rdata->id); $recording->set('status', $status); $recording->save(); $recordings[] = $rdata; } return $recordings; } }
Upload File
Create Folder