1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 namespace block_comments; 18 19 use advanced_testcase; 20 use block_comments; 21 use context_course; 22 23 /** 24 * PHPUnit block_comments tests 25 * 26 * @package block_comments 27 * @category test 28 * @copyright 2021 Sara Arjona (sara@moodle.com) 29 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 30 * @coversDefaultClass \block_comments 31 */ 32 class comments_test extends advanced_testcase { 33 public static function setUpBeforeClass(): void { 34 require_once (__DIR__ . '/../../moodleblock.class.php'); 35 require_once (__DIR__ . '/../block_comments.php'); 36 } 37 38 /** 39 * Test the behaviour of can_block_be_added() method. 40 * 41 * @covers ::can_block_be_added 42 */ 43 public function test_can_block_be_added(): void { 44 $this->resetAfterTest(); 45 $this->setAdminUser(); 46 47 // Create a course and prepare the page where the block will be added. 48 $course = $this->getDataGenerator()->create_course(); 49 $page = new \moodle_page(); 50 $page->set_context(context_course::instance($course->id)); 51 $page->set_pagelayout('course'); 52 53 $block = new block_comments(); 54 55 // If comments advanced feature is enabled, the method should return true. 56 set_config('usecomments', true); 57 $this->assertTrue($block->can_block_be_added($page)); 58 59 // However, if the comments advanced feature is disabled, the method should return false. 60 set_config('usecomments', false); 61 $this->assertFalse($block->can_block_be_added($page)); 62 } 63 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body