Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?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 communication_matrix;/*** Tests for the matrix_room class.** @package communication_matrix* @category test* @copyright 2023 Safat Shahin <safat.shahin@moodle.com>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later* @coversDefaultClass \communication_matrix\matrix_room*/class matrix_room_test extends \advanced_testcase {/*** Test for load_by_processor_id with no record.** @covers ::load_by_processor_id*/public function test_load_by_processor_id_none(): void {$this->assertNull(matrix_room::load_by_processor_id(999999999));}/*** Test for load_by_processor_id with valid records.** @covers ::create_room_record* @covers ::__construct* @covers ::load_by_processor_id* @covers ::get_processor_id* @covers ::get_room_id* @covers ::get_topic*/public function test_create_room_record(): void {$this->resetAfterTest();$room = matrix_room::create_room_record(processorid: 10000,topic: null,);$this->assertInstanceOf(matrix_room::class, $room);$this->assertEquals(10000, $room->get_processor_id());$this->assertNotNull('', $room->get_topic());$this->assertEquals('', $room->get_topic());$this->assertNull($room->get_room_id());$room = matrix_room::create_room_record(processorid: 12345,topic: 'The topic of this room is thusly',);$this->assertInstanceOf(matrix_room::class, $room);$this->assertEquals(12345, $room->get_processor_id());$this->assertEquals('The topic of this room is thusly', $room->get_topic());$this->assertNull($room->get_room_id());$room = matrix_room::create_room_record(processorid: 54321,topic: 'The topic of this room is thusly',roomid: 'This is a roomid',);$this->assertInstanceOf(matrix_room::class, $room);$this->assertEquals(54321, $room->get_processor_id());$this->assertEquals('The topic of this room is thusly', $room->get_topic());$this->assertEquals('This is a roomid', $room->get_room_id());$reloadedroom = matrix_room::load_by_processor_id(54321);$this->assertEquals(54321, $reloadedroom->get_processor_id());$this->assertEquals('The topic of this room is thusly', $reloadedroom->get_topic());$this->assertEquals('This is a roomid', $reloadedroom->get_room_id());}/*** Test for update_room_record.** @covers ::update_room_record*/public function test_update_room_record(): void {$this->resetAfterTest();$room = matrix_room::create_room_record(processorid: 12345,topic: 'The topic of this room is that',);// Add a roomid.$room->update_room_record(roomid: 'This is a roomid',);$this->assertEquals('This is a roomid', $room->get_room_id());$this->assertEquals('The topic of this room is that', $room->get_topic());$this->assertEquals(12345, $room->get_processor_id());// Alter the roomid and topic.$room->update_room_record(roomid: 'updatedRoomId',topic: 'updatedTopic is here',);$this->assertEquals('updatedRoomId', $room->get_room_id());$this->assertEquals('updatedTopic is here', $room->get_topic());$this->assertEquals(12345, $room->get_processor_id());}/*** Tests for delete_room_record.** @covers ::delete_room_record*/public function test_delete_room_record(): void {global $DB;$this->resetAfterTest();$room = matrix_room::create_room_record(processorid: 12345,topic: 'The topic of this room is that',);$this->assertCount(1, $DB->get_records('matrix_room'));$room->delete_room_record();$this->assertCount(0, $DB->get_records('matrix_room'));}}