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_blog_tags; 18 19 use advanced_testcase; 20 use block_blog_tags; 21 use context_course; 22 23 /** 24 * PHPUnit block_blog_tags tests 25 * 26 * @package block_blog_tags 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_blog_tags 31 */ 32 class blog_tags_test extends advanced_testcase { 33 public static function setUpBeforeClass(): void { 34 require_once (__DIR__ . '/../../moodleblock.class.php'); 35 require_once (__DIR__ . '/../block_blog_tags.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_blog_tags(); 54 55 // If blogs and tags advanced features are enabled, the method should return true. 56 set_config('enableblogs', true); 57 set_config('usetags', true); 58 $this->assertTrue($block->can_block_be_added($page)); 59 60 // However, if any of these advanced features is disabled, the method should return false. 61 set_config('enableblogs', false); 62 $this->assertFalse($block->can_block_be_added($page)); 63 64 set_config('enableblogs', true); 65 set_config('usetags', false); 66 $this->assertFalse($block->can_block_be_added($page)); 67 68 set_config('enableblogs', false); 69 $this->assertFalse($block->can_block_be_added($page)); 70 } 71 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body