mirror of
https://github.com/moodle/moodle.git
synced 2025-04-19 07:25:30 +02:00
MDL-73339 blog_tags: Add block only if main feature is enabled
The Blog tags block should be added only if the blogs and the tags advanced features are enabled.
This commit is contained in:
parent
3413df37a5
commit
8d600233d3
@ -222,6 +222,18 @@ class block_blog_tags extends block_base {
|
||||
'plugin' => new stdClass(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* This block shouldn't be added to a page if the blogs and the tags advanced features are disabled.
|
||||
*
|
||||
* @param moodle_page $page
|
||||
* @return bool
|
||||
*/
|
||||
public function can_block_be_added(moodle_page $page): bool {
|
||||
global $CFG;
|
||||
|
||||
return $CFG->enableblogs && $CFG->usetags;
|
||||
}
|
||||
}
|
||||
|
||||
function block_blog_tags_sort($a, $b) {
|
||||
@ -241,5 +253,3 @@ function block_blog_tags_sort($a, $b) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
71
blocks/blog_tags/tests/blog_tags_test.php
Normal file
71
blocks/blog_tags/tests/blog_tags_test.php
Normal file
@ -0,0 +1,71 @@
|
||||
<?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 block_blog_tags\tests;
|
||||
|
||||
use advanced_testcase;
|
||||
use block_blog_tags;
|
||||
use context_course;
|
||||
|
||||
/**
|
||||
* PHPUnit block_blog_tags tests
|
||||
*
|
||||
* @package block_blog_tags
|
||||
* @category test
|
||||
* @copyright 2021 Sara Arjona (sara@moodle.com)
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @coversDefaultClass \block_blog_tags
|
||||
*/
|
||||
class blog_tags_test extends advanced_testcase {
|
||||
public static function setUpBeforeClass(): void {
|
||||
require_once(__DIR__ . '/../../moodleblock.class.php');
|
||||
require_once(__DIR__ . '/../block_blog_tags.php');
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the behaviour of can_block_be_added() method.
|
||||
*
|
||||
* @covers ::can_block_be_added
|
||||
*/
|
||||
public function test_can_block_be_added(): void {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
// Create a course and prepare the page where the block will be added.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$page = new \moodle_page();
|
||||
$page->set_context(context_course::instance($course->id));
|
||||
$page->set_pagelayout('course');
|
||||
|
||||
$block = new block_blog_tags();
|
||||
|
||||
// If blogs and tags advanced features are enabled, the method should return true.
|
||||
set_config('enableblogs', true);
|
||||
set_config('usetags', true);
|
||||
$this->assertTrue($block->can_block_be_added($page));
|
||||
|
||||
// However, if any of these advanced features is disabled, the method should return false.
|
||||
set_config('enableblogs', false);
|
||||
$this->assertFalse($block->can_block_be_added($page));
|
||||
|
||||
set_config('enableblogs', true);
|
||||
set_config('usetags', false);
|
||||
$this->assertFalse($block->can_block_be_added($page));
|
||||
|
||||
set_config('enableblogs', false);
|
||||
$this->assertFalse($block->can_block_be_added($page));
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user