Rev 1 | 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 core_completion;/*** Tests that completion works without requiring unnecessary capabilities.** @package core_completion* @copyright 2018 University of Nottingham* @author Neill Magill <neill.magill@nottingham.ac.uk>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class capabilities_test extends \advanced_testcase {/*** A user who does not have capabilities to add events to the calendar should be able to create activities.*/public function test_creation_with_no_calendar_capabilities(): void {$this->resetAfterTest();$course = self::getDataGenerator()->create_course(['enablecompletion' => 1]);$context = \context_course::instance($course->id);$user = self::getDataGenerator()->create_and_enrol($course, 'editingteacher');$roleid = self::getDataGenerator()->create_role();self::getDataGenerator()->role_assign($roleid, $user->id, $context->id);assign_capability('moodle/calendar:manageentries', CAP_PROHIBIT, $roleid, $context, true);$generator = self::getDataGenerator()->get_plugin_generator('mod_forum');// Create an instance as a user without the calendar capabilities.$this->setUser($user);$params = array('course' => $course->id,'completionexpected' => time() + 2000,);$generator->create_instance($params);}}