mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-75716 phpunit: Move tests to use correct names and ns (take#5)
Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - In lib/tests/blocklib_test.php 2 helper classes have been moved to tests/fixtures, because they needed to be namespace-free.
This commit is contained in:
parent
c6211a68b4
commit
81f05b3239
39 changed files with 1007 additions and 1119 deletions
|
@ -14,14 +14,7 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Tests for the block_manager class in ../blocklib.php.
|
||||
*
|
||||
* @package core
|
||||
* @category phpunit
|
||||
* @copyright 2009 Tim Hunt
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace core;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
@ -29,22 +22,28 @@ global $CFG;
|
|||
require_once($CFG->libdir . '/pagelib.php');
|
||||
require_once($CFG->libdir . '/blocklib.php');
|
||||
require_once($CFG->dirroot . '/blocks/moodleblock.class.php');
|
||||
|
||||
require_once(__DIR__ . '/fixtures/block_ablocktype.php');
|
||||
require_once(__DIR__ . '/fixtures/testable_block_manager.php');
|
||||
|
||||
/**
|
||||
* Test various block related classes.
|
||||
* Tests for the block_manager class in ../blocklib.php.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2009 Tim Hunt
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_blocklib_testcase extends advanced_testcase {
|
||||
class blocklib_test extends \advanced_testcase {
|
||||
protected $testpage;
|
||||
protected $blockmanager;
|
||||
protected $isediting = null;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->testpage = new moodle_page();
|
||||
$this->testpage->set_context(context_system::instance());
|
||||
$this->testpage = new \moodle_page();
|
||||
$this->testpage->set_context(\context_system::instance());
|
||||
$this->testpage->set_pagetype('phpunit-block-test');
|
||||
$this->blockmanager = new testable_block_manager($this->testpage);
|
||||
$this->blockmanager = new \testable_block_manager($this->testpage);
|
||||
}
|
||||
|
||||
protected function tearDown(): void {
|
||||
|
@ -113,7 +112,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$this->blockmanager->mark_loaded();
|
||||
// Exercise SUT.
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->blockmanager->add_region('too-late', false);
|
||||
}
|
||||
|
||||
|
@ -168,7 +167,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$this->blockmanager->mark_loaded();
|
||||
// Exercise SUT.
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->blockmanager->add_region('too-late');
|
||||
}
|
||||
|
||||
|
@ -183,7 +182,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
|
||||
public function test_cannot_set_unknown_region_as_default() {
|
||||
// Exercise SUT.
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->blockmanager->set_default_region('a-region-name');
|
||||
}
|
||||
|
||||
|
@ -191,7 +190,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$this->blockmanager->mark_loaded();
|
||||
// Exercise SUT.
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->blockmanager->set_default_region('too-late');
|
||||
}
|
||||
|
||||
|
@ -210,13 +209,13 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
}
|
||||
|
||||
protected function get_a_page_and_block_manager($regions, $context, $pagetype, $subpage = '') {
|
||||
$page = new moodle_page;
|
||||
$page = new \moodle_page;
|
||||
$page->set_context($context);
|
||||
$page->set_pagetype($pagetype);
|
||||
$page->set_subpage($subpage);
|
||||
$page->set_url(new moodle_url('/'));
|
||||
$page->set_url(new \moodle_url('/'));
|
||||
|
||||
$blockmanager = new testable_block_manager($page);
|
||||
$blockmanager = new \testable_block_manager($page);
|
||||
$blockmanager->add_regions($regions, false);
|
||||
$blockmanager->set_default_region($regions[0]);
|
||||
|
||||
|
@ -225,7 +224,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
|
||||
protected function get_a_known_block_type() {
|
||||
global $DB;
|
||||
$block = new stdClass;
|
||||
$block = new \stdClass;
|
||||
$block->name = 'ablocktype';
|
||||
$DB->insert_record('block', $block);
|
||||
return $block->name;
|
||||
|
@ -249,7 +248,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
|
||||
// Set up fixture.
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array('a-region'),
|
||||
context_system::instance(), 'page-type');
|
||||
\context_system::instance(), 'page-type');
|
||||
// Exercise SUT.
|
||||
$blockmanager->load_blocks();
|
||||
// Validate.
|
||||
|
@ -263,7 +262,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$context, 'page-type');
|
||||
|
@ -282,7 +281,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$context, 'page-type');
|
||||
|
@ -302,7 +301,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$context, 'page-type');
|
||||
|
@ -327,7 +326,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$context, 'page-type');
|
||||
|
@ -345,9 +344,9 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$this->purge_blocks();
|
||||
|
||||
// Set up fixture.
|
||||
$syscontext = context_system::instance();
|
||||
$syscontext = \context_system::instance();
|
||||
$cat = $this->getDataGenerator()->create_category(array('name' => 'testcategory'));
|
||||
$fakecontext = context_coursecat::instance($cat->id);
|
||||
$fakecontext = \context_coursecat::instance($cat->id);
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
|
||||
|
@ -367,8 +366,8 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$this->purge_blocks();
|
||||
|
||||
// Set up fixture.
|
||||
$syscontext = context_system::instance();
|
||||
$childcontext = context_coursecat::instance(1);
|
||||
$syscontext = \context_system::instance();
|
||||
$childcontext = \context_coursecat::instance(1);
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
|
||||
|
@ -388,7 +387,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$this->purge_blocks();
|
||||
|
||||
// Set up fixture.
|
||||
$syscontext = context_system::instance();
|
||||
$syscontext = \context_system::instance();
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
|
||||
|
@ -410,7 +409,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$syscontext = context_system::instance();
|
||||
$syscontext = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$syscontext, 'page-type', 'sub-page');
|
||||
|
@ -430,7 +429,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$syscontext = context_system::instance();
|
||||
$syscontext = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$syscontext, 'page-type', 'sub-page');
|
||||
|
@ -450,7 +449,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$syscontext = context_system::instance();
|
||||
$syscontext = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$syscontext, 'page-type', 'sub-page');
|
||||
|
@ -521,7 +520,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
|
||||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$context, 'page-type');
|
||||
|
@ -572,9 +571,9 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
list($insql, $inparams) = $DB->get_in_or_equal($preferences);
|
||||
$this->assertEquals(2, $DB->count_records_select('user_preferences', "name $insql", $inparams));
|
||||
|
||||
$this->assertFalse(context_block::instance($blockids[0], IGNORE_MISSING));
|
||||
$this->assertFalse(context_block::instance($blockids[1], IGNORE_MISSING));
|
||||
context_block::instance($tokeep); // Would throw an exception if it was deleted.
|
||||
$this->assertFalse(\context_block::instance($blockids[0], IGNORE_MISSING));
|
||||
$this->assertFalse(\context_block::instance($blockids[1], IGNORE_MISSING));
|
||||
\context_block::instance($tokeep); // Would throw an exception if it was deleted.
|
||||
}
|
||||
|
||||
public function test_create_all_block_instances() {
|
||||
|
@ -583,7 +582,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$this->setAdminUser();
|
||||
$this->resetAfterTest();
|
||||
$regionname = 'side-pre';
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
$PAGE->reset_theme_and_output();
|
||||
$CFG->theme = 'boost';
|
||||
|
@ -668,7 +667,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
// Set up fixture.
|
||||
$regionname = 'a-region';
|
||||
$blockname = 'html';
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
list($page, $blockmanager) = $this->get_a_page_and_block_manager(array($regionname),
|
||||
$context, 'page-type');
|
||||
|
@ -735,8 +734,8 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$regionname = 'a-region';
|
||||
$blockname = $this->get_a_known_block_type();
|
||||
$user = self::getDataGenerator()->create_user();
|
||||
$syscontext = context_system::instance();
|
||||
$usercontext = context_user::instance($user->id);
|
||||
$syscontext = \context_system::instance();
|
||||
$usercontext = \context_user::instance($user->id);
|
||||
// Add sitewide 'sticky' blocks. The page is not setup exactly as a site page would be...
|
||||
// but it does seem to mean that the bloacks are added correctly.
|
||||
list($sitepage, $sitebm) = $this->get_a_page_and_block_manager(array($regionname), $syscontext, 'site-index');
|
||||
|
@ -772,7 +771,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$mybm->load_blocks();
|
||||
$mybm->reposition_block($sitestickyblock2->id, $regionname, -1);
|
||||
// Reload the blocks in the managers.
|
||||
context_helper::reset_caches();
|
||||
\context_helper::reset_caches();
|
||||
$defaultmybm->reset_caches();
|
||||
$this->assertNull($defaultmybm->get_loaded_blocks());
|
||||
$defaultmybm->load_blocks();
|
||||
|
@ -838,7 +837,7 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$this->setAdminUser();
|
||||
$this->resetAfterTest();
|
||||
$regionname = 'side-pre';
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
$PAGE->reset_theme_and_output();
|
||||
$CFG->theme = 'boost';
|
||||
|
@ -864,32 +863,3 @@ class core_blocklib_testcase extends advanced_testcase {
|
|||
$this->assertEmpty($blocks);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test-specific subclass to make some protected things public.
|
||||
*/
|
||||
class testable_block_manager extends block_manager {
|
||||
/**
|
||||
* Resets the caches in the block manager.
|
||||
* This allows blocks to be reloaded correctly.
|
||||
*/
|
||||
public function reset_caches() {
|
||||
$this->birecordsbyregion = null;
|
||||
$this->blockinstances = array();
|
||||
$this->visibleblockcontent = array();
|
||||
}
|
||||
public function mark_loaded() {
|
||||
$this->birecordsbyregion = array();
|
||||
}
|
||||
public function get_loaded_blocks() {
|
||||
return $this->birecordsbyregion;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test-specific subclass to make some protected things public.
|
||||
*/
|
||||
class block_ablocktype extends block_base {
|
||||
public function init() {
|
||||
}
|
||||
}
|
||||
|
|
28
lib/tests/fixtures/block_ablocktype.php
vendored
Normal file
28
lib/tests/fixtures/block_ablocktype.php
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?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/>.
|
||||
|
||||
/**
|
||||
* Test-specific subclass to make some protected things public.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2022 onwards Eloy Lafuente (stronk7) {@link https://stronk7.com}
|
||||
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class block_ablocktype extends block_base {
|
||||
public function init() {
|
||||
}
|
||||
}
|
41
lib/tests/fixtures/testable_block_manager.php
vendored
Normal file
41
lib/tests/fixtures/testable_block_manager.php
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?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/>.
|
||||
|
||||
/**
|
||||
* Test-specific subclass to make some protected things public.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2022 onwards Eloy Lafuente (stronk7) {@link https://stronk7.com}
|
||||
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class testable_block_manager extends block_manager {
|
||||
/**
|
||||
* Resets the caches in the block manager.
|
||||
* This allows blocks to be reloaded correctly.
|
||||
*/
|
||||
public function reset_caches() {
|
||||
$this->birecordsbyregion = null;
|
||||
$this->blockinstances = array();
|
||||
$this->visibleblockcontent = array();
|
||||
}
|
||||
public function mark_loaded() {
|
||||
$this->birecordsbyregion = array();
|
||||
}
|
||||
public function get_loaded_blocks() {
|
||||
return $this->birecordsbyregion;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -14,15 +14,13 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Tests for oauth2 apis (\core\oauth2\*).
|
||||
*
|
||||
* @package core
|
||||
* @copyright 2017 Damyon Wiese
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
namespace core;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
use core\oauth2\access_token;
|
||||
use core\oauth2\api;
|
||||
use core\oauth2\endpoint;
|
||||
use core\oauth2\issuer;
|
||||
use core\oauth2\system_account;
|
||||
|
||||
/**
|
||||
* Tests for oauth2 apis (\core\oauth2\*).
|
||||
|
@ -32,7 +30,7 @@ defined('MOODLE_INTERNAL') || die();
|
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
* @coversDefaultClass \core\oauth2\api
|
||||
*/
|
||||
class core_oauth2_testcase extends advanced_testcase {
|
||||
class oauth2_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Tests the crud operations on oauth2 issuers.
|
||||
|
@ -40,30 +38,30 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
public function test_create_and_delete_standard_issuers() {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
\core\oauth2\api::create_standard_issuer('google');
|
||||
\core\oauth2\api::create_standard_issuer('facebook');
|
||||
\core\oauth2\api::create_standard_issuer('microsoft');
|
||||
\core\oauth2\api::create_standard_issuer('nextcloud', 'https://dummy.local/nextcloud/');
|
||||
api::create_standard_issuer('google');
|
||||
api::create_standard_issuer('facebook');
|
||||
api::create_standard_issuer('microsoft');
|
||||
api::create_standard_issuer('nextcloud', 'https://dummy.local/nextcloud/');
|
||||
|
||||
$issuers = \core\oauth2\api::get_all_issuers();
|
||||
$issuers = api::get_all_issuers();
|
||||
|
||||
$this->assertEquals($issuers[0]->get('name'), 'Google');
|
||||
$this->assertEquals($issuers[1]->get('name'), 'Facebook');
|
||||
$this->assertEquals($issuers[2]->get('name'), 'Microsoft');
|
||||
$this->assertEquals($issuers[3]->get('name'), 'Nextcloud');
|
||||
|
||||
\core\oauth2\api::move_down_issuer($issuers[0]->get('id'));
|
||||
api::move_down_issuer($issuers[0]->get('id'));
|
||||
|
||||
$issuers = \core\oauth2\api::get_all_issuers();
|
||||
$issuers = api::get_all_issuers();
|
||||
|
||||
$this->assertEquals($issuers[0]->get('name'), 'Facebook');
|
||||
$this->assertEquals($issuers[1]->get('name'), 'Google');
|
||||
$this->assertEquals($issuers[2]->get('name'), 'Microsoft');
|
||||
$this->assertEquals($issuers[3]->get('name'), 'Nextcloud');
|
||||
|
||||
\core\oauth2\api::delete_issuer($issuers[1]->get('id'));
|
||||
api::delete_issuer($issuers[1]->get('id'));
|
||||
|
||||
$issuers = \core\oauth2\api::get_all_issuers();
|
||||
$issuers = api::get_all_issuers();
|
||||
|
||||
$this->assertEquals($issuers[0]->get('name'), 'Facebook');
|
||||
$this->assertEquals($issuers[1]->get('name'), 'Microsoft');
|
||||
|
@ -78,7 +76,7 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
$this->setAdminUser();
|
||||
|
||||
$this->expectException(\moodle_exception::class);
|
||||
\core\oauth2\api::create_standard_issuer('nextcloud');
|
||||
api::create_standard_issuer('nextcloud');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -87,31 +85,31 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
public function test_getters() {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$issuer = \core\oauth2\api::create_standard_issuer('microsoft');
|
||||
$issuer = api::create_standard_issuer('microsoft');
|
||||
|
||||
$same = \core\oauth2\api::get_issuer($issuer->get('id'));
|
||||
$same = api::get_issuer($issuer->get('id'));
|
||||
|
||||
foreach ($same->properties_definition() as $name => $def) {
|
||||
$this->assertTrue($issuer->get($name) == $same->get($name));
|
||||
}
|
||||
|
||||
$endpoints = \core\oauth2\api::get_endpoints($issuer);
|
||||
$same = \core\oauth2\api::get_endpoint($endpoints[0]->get('id'));
|
||||
$endpoints = api::get_endpoints($issuer);
|
||||
$same = api::get_endpoint($endpoints[0]->get('id'));
|
||||
$this->assertEquals($endpoints[0]->get('id'), $same->get('id'));
|
||||
$this->assertEquals($endpoints[0]->get('name'), $same->get('name'));
|
||||
|
||||
$todelete = $endpoints[0];
|
||||
\core\oauth2\api::delete_endpoint($todelete->get('id'));
|
||||
$endpoints = \core\oauth2\api::get_endpoints($issuer);
|
||||
api::delete_endpoint($todelete->get('id'));
|
||||
$endpoints = api::get_endpoints($issuer);
|
||||
$this->assertNotEquals($endpoints[0]->get('id'), $todelete->get('id'));
|
||||
|
||||
$userfields = \core\oauth2\api::get_user_field_mappings($issuer);
|
||||
$same = \core\oauth2\api::get_user_field_mapping($userfields[0]->get('id'));
|
||||
$userfields = api::get_user_field_mappings($issuer);
|
||||
$same = api::get_user_field_mapping($userfields[0]->get('id'));
|
||||
$this->assertEquals($userfields[0]->get('id'), $same->get('id'));
|
||||
|
||||
$todelete = $userfields[0];
|
||||
\core\oauth2\api::delete_user_field_mapping($todelete->get('id'));
|
||||
$userfields = \core\oauth2\api::get_user_field_mappings($issuer);
|
||||
api::delete_user_field_mapping($todelete->get('id'));
|
||||
$userfields = api::get_user_field_mappings($issuer);
|
||||
$this->assertNotEquals($userfields[0]->get('id'), $todelete->get('id'));
|
||||
}
|
||||
|
||||
|
@ -144,16 +142,16 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
* Tests we can get a logged in oauth client for a system account.
|
||||
*
|
||||
* @dataProvider system_oauth_client_provider
|
||||
* @param stdClass $responsedata The response data to be mocked.
|
||||
* @param \stdClass $responsedata The response data to be mocked.
|
||||
* @param int $expiresin The expected expiration time.
|
||||
*/
|
||||
public function test_get_system_oauth_client($responsedata, $expiresin) {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
$issuer = \core\oauth2\api::create_standard_issuer('microsoft');
|
||||
$issuer = api::create_standard_issuer('microsoft');
|
||||
|
||||
$requiredscopes = \core\oauth2\api::get_system_scopes_for_issuer($issuer);
|
||||
$requiredscopes = api::get_system_scopes_for_issuer($issuer);
|
||||
// Fake a system account.
|
||||
$data = (object) [
|
||||
'issuerid' => $issuer->get('id'),
|
||||
|
@ -162,17 +160,17 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
'email' => 'sys@example.com',
|
||||
'username' => 'sys'
|
||||
];
|
||||
$sys = new \core\oauth2\system_account(0, $data);
|
||||
$sys = new system_account(0, $data);
|
||||
$sys->create();
|
||||
|
||||
// Fake a response with an access token.
|
||||
$response = json_encode($responsedata);
|
||||
curl::mock_response($response);
|
||||
$client = \core\oauth2\api::get_system_oauth_client($issuer);
|
||||
\curl::mock_response($response);
|
||||
$client = api::get_system_oauth_client($issuer);
|
||||
$this->assertTrue($client->is_logged_in());
|
||||
|
||||
// Check token expiry.
|
||||
$accesstoken = \core\oauth2\access_token::get_record(['issuerid' => $issuer->get('id')]);
|
||||
$accesstoken = access_token::get_record(['issuerid' => $issuer->get('id')]);
|
||||
|
||||
// Get the difference between the actual and expected expiry times.
|
||||
// They might differ by a couple of seconds depending on the timing when the token gets actually processed.
|
||||
|
@ -190,24 +188,24 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
$issuer = \core\oauth2\api::create_standard_issuer('microsoft');
|
||||
$issuer = api::create_standard_issuer('microsoft');
|
||||
|
||||
$issuerid = $issuer->get('id');
|
||||
|
||||
\core\oauth2\api::enable_issuer($issuerid);
|
||||
$check = \core\oauth2\api::get_issuer($issuer->get('id'));
|
||||
api::enable_issuer($issuerid);
|
||||
$check = api::get_issuer($issuer->get('id'));
|
||||
$this->assertTrue((boolean)$check->get('enabled'));
|
||||
|
||||
\core\oauth2\api::enable_issuer($issuerid);
|
||||
$check = \core\oauth2\api::get_issuer($issuer->get('id'));
|
||||
api::enable_issuer($issuerid);
|
||||
$check = api::get_issuer($issuer->get('id'));
|
||||
$this->assertTrue((boolean)$check->get('enabled'));
|
||||
|
||||
\core\oauth2\api::disable_issuer($issuerid);
|
||||
$check = \core\oauth2\api::get_issuer($issuer->get('id'));
|
||||
api::disable_issuer($issuerid);
|
||||
$check = api::get_issuer($issuer->get('id'));
|
||||
$this->assertFalse((boolean)$check->get('enabled'));
|
||||
|
||||
\core\oauth2\api::enable_issuer($issuerid);
|
||||
$check = \core\oauth2\api::get_issuer($issuer->get('id'));
|
||||
api::enable_issuer($issuerid);
|
||||
$check = api::get_issuer($issuer->get('id'));
|
||||
$this->assertTrue((boolean)$check->get('enabled'));
|
||||
}
|
||||
|
||||
|
@ -218,7 +216,7 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
$issuer = \core\oauth2\api::create_standard_issuer('microsoft');
|
||||
$issuer = api::create_standard_issuer('microsoft');
|
||||
|
||||
$issuer->set('alloweddomains', '');
|
||||
|
||||
|
@ -281,10 +279,10 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
if ($expectedexception) {
|
||||
$this->expectException($expectedexception);
|
||||
}
|
||||
$issuer = \core\oauth2\api::create_standard_issuer($type, $baseurl);
|
||||
$issuer = api::create_standard_issuer($type, $baseurl);
|
||||
|
||||
// Check endpoints have been created.
|
||||
$endpoints = \core\oauth2\api::get_endpoints($issuer);
|
||||
$endpoints = api::get_endpoints($issuer);
|
||||
$this->assertNotEmpty($endpoints);
|
||||
$this->assertNotEmpty($issuer->get('image'));
|
||||
// Check discovery URL.
|
||||
|
@ -294,7 +292,7 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
$this->assertFalse($issuer->get_endpoint_url('discovery'));
|
||||
}
|
||||
// Check userfield mappings.
|
||||
$userfieldmappings = core\oauth2\api::get_user_field_mappings($issuer);
|
||||
$userfieldmappings =api::get_user_field_mappings($issuer);
|
||||
if ($hasmappingfields) {
|
||||
$this->assertNotEmpty($userfieldmappings);
|
||||
} else {
|
||||
|
@ -373,21 +371,21 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
public function test_get_all_issuers() {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$googleissuer = core\oauth2\api::create_standard_issuer('google');
|
||||
core\oauth2\api::create_standard_issuer('facebook');
|
||||
core\oauth2\api::create_standard_issuer('microsoft');
|
||||
$googleissuer = api::create_standard_issuer('google');
|
||||
api::create_standard_issuer('facebook');
|
||||
api::create_standard_issuer('microsoft');
|
||||
|
||||
// Set Google issuer to be shown only on login page.
|
||||
$record = $googleissuer->to_record();
|
||||
$record->showonloginpage = $googleissuer::LOGINONLY;
|
||||
core\oauth2\api::update_issuer($record);
|
||||
api::update_issuer($record);
|
||||
|
||||
$issuers = \core\oauth2\api::get_all_issuers();
|
||||
$issuers = api::get_all_issuers();
|
||||
$this->assertCount(2, $issuers);
|
||||
$expected = ['Microsoft', 'Facebook'];
|
||||
$this->assertEqualsCanonicalizing($expected, [$issuers[0]->get_display_name(), $issuers[1]->get_display_name()]);
|
||||
|
||||
$issuers = \core\oauth2\api::get_all_issuers(true);
|
||||
$issuers = api::get_all_issuers(true);
|
||||
$this->assertCount(3, $issuers);
|
||||
$expected = ['Google', 'Microsoft', 'Facebook'];
|
||||
$this->assertEqualsCanonicalizing($expected,
|
||||
|
@ -400,12 +398,12 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
public function test_is_available_for_login() {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$googleissuer = core\oauth2\api::create_standard_issuer('google');
|
||||
$googleissuer = api::create_standard_issuer('google');
|
||||
|
||||
// Set Google issuer to be shown only on login page.
|
||||
$record = $googleissuer->to_record();
|
||||
$record->showonloginpage = $googleissuer::LOGINONLY;
|
||||
core\oauth2\api::update_issuer($record);
|
||||
api::update_issuer($record);
|
||||
|
||||
$this->assertFalse($googleissuer->is_available_for_login());
|
||||
|
||||
|
@ -417,13 +415,13 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
$this->assertTrue($googleissuer->is_available_for_login());
|
||||
|
||||
// Set showonloginpage to service only.
|
||||
$googleissuer->set('showonloginpage', \core\oauth2\issuer::SERVICEONLY);
|
||||
$googleissuer->set('showonloginpage', issuer::SERVICEONLY);
|
||||
$googleissuer->update();
|
||||
|
||||
$this->assertFalse($googleissuer->is_available_for_login());
|
||||
|
||||
// Set showonloginpage to everywhere (service and login) and disable issuer.
|
||||
$googleissuer->set('showonloginpage', \core\oauth2\issuer::EVERYWHERE);
|
||||
$googleissuer->set('showonloginpage', issuer::EVERYWHERE);
|
||||
$googleissuer->set('enabled', 0);
|
||||
$googleissuer->update();
|
||||
|
||||
|
@ -436,11 +434,11 @@ class core_oauth2_testcase extends advanced_testcase {
|
|||
$this->assertTrue($googleissuer->is_available_for_login());
|
||||
|
||||
// Remove userinfo endpoint from issuer.
|
||||
$endpoint = core\oauth2\endpoint::get_record([
|
||||
$endpoint = endpoint::get_record([
|
||||
'issuerid' => $googleissuer->get('id'),
|
||||
'name' => 'userinfo_endpoint'
|
||||
]);
|
||||
\core\oauth2\api::delete_endpoint($endpoint->get('id'));
|
||||
api::delete_endpoint($endpoint->get('id'));
|
||||
|
||||
$this->assertFalse($googleissuer->is_available_for_login());
|
||||
}
|
||||
|
|
|
@ -14,16 +14,9 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Unit tests for (some of) ../questionlib.php.
|
||||
*
|
||||
* @package core_question
|
||||
* @category phpunit
|
||||
* @copyright 2006 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
use core_tag\output\tag;
|
||||
namespace core;
|
||||
|
||||
use question_bank;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
@ -39,10 +32,12 @@ require_once($CFG->dirroot . '/backup/util/includes/restore_includes.php');
|
|||
/**
|
||||
* Unit tests for (some of) ../questionlib.php.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2006 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_questionlib_testcase extends advanced_testcase {
|
||||
class questionlib_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test set up.
|
||||
|
@ -81,19 +76,19 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
|
||||
switch ($type) {
|
||||
case 'course':
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
break;
|
||||
|
||||
case 'category':
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
break;
|
||||
|
||||
case 'system':
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
break;
|
||||
|
||||
default:
|
||||
$context = context_module::instance($quiz->cmid);
|
||||
$context = \context_module::instance($quiz->cmid);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -171,8 +166,8 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$coursecat2 = $this->getDataGenerator()->create_category();
|
||||
|
||||
// Create a couple of categories and questions.
|
||||
$context1 = context_coursecat::instance($coursecat1->id);
|
||||
$context2 = context_coursecat::instance($coursecat2->id);
|
||||
$context1 = \context_coursecat::instance($coursecat1->id);
|
||||
$context2 = \context_coursecat::instance($coursecat2->id);
|
||||
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$questioncat1 = $questiongenerator->create_question_category(array('contextid' =>
|
||||
$context1->id));
|
||||
|
@ -184,10 +179,10 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$question4 = $questiongenerator->create_question('shortanswer', null, array('category' => $questioncat2->id));
|
||||
|
||||
// Now lets tag these questions.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $context1, array('tag 1', 'tag 2'));
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $context1, array('tag 3', 'tag 4'));
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question3->id, $context2, array('tag 5', 'tag 6'));
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question4->id, $context2, array('tag 7', 'tag 8'));
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $context1, array('tag 1', 'tag 2'));
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $context1, array('tag 3', 'tag 4'));
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question3->id, $context2, array('tag 5', 'tag 6'));
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question4->id, $context2, array('tag 7', 'tag 8'));
|
||||
|
||||
// Test moving the questions to another category.
|
||||
question_move_questions_to_category(array($question1->id, $question2->id), $questioncat2->id);
|
||||
|
@ -214,7 +209,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
|
||||
// Now test moving them back.
|
||||
question_move_category_to_context($questioncat1->id, $questioncat2->contextid,
|
||||
context_coursecat::instance($coursecat1->id)->id);
|
||||
\context_coursecat::instance($coursecat1->id)->id);
|
||||
|
||||
// Test that all tag_instances are now reset to how they were initially.
|
||||
$this->assertEquals(4, $DB->count_records('tag_instance', array('component' => 'core_question',
|
||||
|
@ -233,21 +228,21 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$course = $this->getDataGenerator()->create_course();
|
||||
|
||||
// Create some question categories and questions in this course.
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$questioncat = $questiongenerator->create_question_category(array('contextid' => $coursecontext->id));
|
||||
$question1 = $questiongenerator->create_question('shortanswer', null, array('category' => $questioncat->id));
|
||||
$question2 = $questiongenerator->create_question('shortanswer', null, array('category' => $questioncat->id));
|
||||
|
||||
// Add some tags to these questions.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, array('tag 1', 'tag 2'));
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, array('tag 1', 'tag 2'));
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, array('tag 1', 'tag 2'));
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, array('tag 1', 'tag 2'));
|
||||
|
||||
// Create a course that we are going to restore the other course to.
|
||||
$course2 = $this->getDataGenerator()->create_course();
|
||||
|
||||
// Create backup file and save it to the backup location.
|
||||
$bc = new backup_controller(backup::TYPE_1COURSE, $course->id, backup::FORMAT_MOODLE,
|
||||
backup::INTERACTIVE_NO, backup::MODE_GENERAL, 2);
|
||||
$bc = new \backup_controller(\backup::TYPE_1COURSE, $course->id, \backup::FORMAT_MOODLE,
|
||||
\backup::INTERACTIVE_NO, \backup::MODE_GENERAL, 2);
|
||||
$bc->execute_plan();
|
||||
$results = $bc->get_results();
|
||||
$file = $results['backup_destination'];
|
||||
|
@ -257,14 +252,14 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$bc->destroy();
|
||||
|
||||
// Now restore the course.
|
||||
$rc = new restore_controller('test-restore-course', $course2->id, backup::INTERACTIVE_NO,
|
||||
backup::MODE_GENERAL, 2, backup::TARGET_NEW_COURSE);
|
||||
$rc = new \restore_controller('test-restore-course', $course2->id, \backup::INTERACTIVE_NO,
|
||||
\backup::MODE_GENERAL, 2, \backup::TARGET_NEW_COURSE);
|
||||
$rc->execute_precheck();
|
||||
$rc->execute_plan();
|
||||
|
||||
// Get the created question category.
|
||||
$restoredcategory = $DB->get_record_select('question_categories', 'contextid = ? AND parent <> 0',
|
||||
array(context_course::instance($course2->id)->id), '*', MUST_EXIST);
|
||||
array(\context_course::instance($course2->id)->id), '*', MUST_EXIST);
|
||||
|
||||
// Check that there are two questions in the restored to course's context.
|
||||
$this->assertEquals(2, $DB->get_record_sql('SELECT COUNT(q.id) as questioncount
|
||||
|
@ -285,7 +280,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
global $DB;
|
||||
|
||||
// Setup.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$qgen = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$qcat = $qgen->create_question_category(array('contextid' => $context->id));
|
||||
$q1 = $qgen->create_question('shortanswer', null, array('category' => $qcat->id));
|
||||
|
@ -307,7 +302,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
global $DB;
|
||||
|
||||
// Setup.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$qgen = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$qcat = $qgen->create_question_category(array('contextid' => $context->id));
|
||||
$q1 = $qgen->create_question('shortanswer', null, array('category' => $qcat->id));
|
||||
|
@ -488,7 +483,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
|
||||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions();
|
||||
|
||||
$context = context::instance_by_id($qcat->contextid);
|
||||
$context = \context::instance_by_id($qcat->contextid);
|
||||
|
||||
$newcat = question_save_from_deletion(array_column($questions, 'id'),
|
||||
$context->get_parent_context()->id, $context->get_context_name());
|
||||
|
@ -516,7 +511,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
|
||||
$DB->update_record('quiz', $quiz);
|
||||
|
||||
$context = context::instance_by_id($qcat->contextid);
|
||||
$context = \context::instance_by_id($qcat->contextid);
|
||||
|
||||
$newcat = question_save_from_deletion(array_column($questions, 'id'),
|
||||
$context->get_parent_context()->id, $context->get_context_name());
|
||||
|
@ -564,15 +559,15 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$expectedtags = [];
|
||||
$actualtags = $question->tags;
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -601,15 +596,15 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$expectedcoursetags = [];
|
||||
$actualcoursetags = $question->coursetags;
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -640,17 +635,17 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('course');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
// Create course level tags in the course context that matches the question
|
||||
// course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
$actualtagobjects = $question->tagobjects;
|
||||
sort($tags);
|
||||
|
@ -673,18 +668,18 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['cfoo', 'cbar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['cbaz', 'cbop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['cfoo', 'cbar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['cbaz', 'cbop']);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$alltags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$alltags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = array_filter($alltags, function($tag) use ($qcontext) {
|
||||
return $tag->taginstancecontextid == $qcontext->id;
|
||||
});
|
||||
|
@ -725,26 +720,26 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$systemcontext = context_system::instance();
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$systemcontext = \context_system::instance();
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
|
||||
$q1tags = core_tag_tag::get_item_tags('core_question', 'question', $question1->id);
|
||||
$q2tags = core_tag_tag::get_item_tags('core_question', 'question', $question2->id);
|
||||
$q1tags = \core_tag_tag::get_item_tags('core_question', 'question', $question1->id);
|
||||
$q2tags = \core_tag_tag::get_item_tags('core_question', 'question', $question2->id);
|
||||
$q1tag = array_shift($q1tags);
|
||||
$q2tag = array_shift($q2tags);
|
||||
|
||||
// Change two of the tag instances to be a different (non-course) context to the
|
||||
// question tag context. These tags should then be normalised back to the question
|
||||
// tag context.
|
||||
core_tag_tag::change_instances_context([$q1tag->taginstanceid, $q2tag->taginstanceid], $systemcontext);
|
||||
\core_tag_tag::change_instances_context([$q1tag->taginstanceid, $q2tag->taginstanceid], $systemcontext);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
// The database should have been updated with the correct context id.
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -767,15 +762,15 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('course');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Tags in a course context that matches the question context should
|
||||
// not be considered course tags.
|
||||
$this->assertEmpty($question->coursetagobjects);
|
||||
|
@ -796,16 +791,16 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
// Create a sibling course.
|
||||
$siblingcourse = $this->getDataGenerator()->create_course(['category' => $course->category]);
|
||||
$siblingcoursecontext = context_course::instance($siblingcourse->id);
|
||||
$siblingcoursecontext = \context_course::instance($siblingcourse->id);
|
||||
|
||||
// Create course tags.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['c1']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['c1']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['c2']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['c2']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['c1']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['c1']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['c2']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['c2']);
|
||||
|
||||
get_question_options($questions, true);
|
||||
|
||||
|
@ -829,17 +824,17 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
// Create a sibling course.
|
||||
$siblingcourse = $this->getDataGenerator()->create_course(['category' => $course->category]);
|
||||
$siblingcoursecontext = context_course::instance($siblingcourse->id);
|
||||
$siblingcoursecontext = \context_course::instance($siblingcourse->id);
|
||||
|
||||
// Create course tags.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['bar']);
|
||||
// Create sibling course tags. These should be filtered out.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['filtered1']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['filtered2']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['filtered1']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['filtered2']);
|
||||
|
||||
// Ask to only receive course tags from $course (ignoring $siblingcourse tags).
|
||||
get_question_options($questions, true, [$course]);
|
||||
|
@ -862,21 +857,21 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('system');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$newcontext = context_coursecat::instance($category->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$newcontext = \context_coursecat::instance($category->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo', 'bar']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
// All of the tags should have their context id set to the new context.
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -894,25 +889,25 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('system');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$newcontext = context_coursecat::instance($category->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$newcontext = \context_coursecat::instance($category->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
foreach ($tags as $tag) {
|
||||
if ($tag->name == 'ctag') {
|
||||
|
@ -934,21 +929,21 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$newcontext = context_system::instance();
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$newcontext = \context_system::instance();
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the course category context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo', 'bar']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
// All of the tags should have their context id set to the new context.
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -966,25 +961,25 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$newcontext = context_system::instance();
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$newcontext = \context_system::instance();
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
foreach ($tags as $tag) {
|
||||
if ($tag->name == 'ctag') {
|
||||
|
@ -1006,8 +1001,8 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$newcontext = $coursecontext;
|
||||
|
||||
foreach ($questions as $question) {
|
||||
|
@ -1015,16 +1010,16 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Each question should have 2 tags.
|
||||
$this->assertCount(2, $tags);
|
||||
|
||||
|
@ -1047,9 +1042,9 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$siblingcourse = $this->getDataGenerator()->create_course(['category' => $course->category]);
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$siblingcoursecontext = context_course::instance($siblingcourse->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$siblingcoursecontext = \context_course::instance($siblingcourse->id);
|
||||
$newcontext = $coursecontext;
|
||||
|
||||
foreach ($questions as $question) {
|
||||
|
@ -1057,20 +1052,20 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the target course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
// Create tags in the sibling course context. These should be deleted as
|
||||
// part of the move.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['stag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['stag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['stag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['stag']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Each question should have 2 tags, 'foo' and 'ctag'.
|
||||
$this->assertCount(2, $tags);
|
||||
|
||||
|
@ -1094,22 +1089,22 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('course');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
// Moving up into the course category context.
|
||||
$newcontext = context_coursecat::instance($category->id);
|
||||
$newcontext = \context_coursecat::instance($category->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
// All of the tags should have their context id set to the new context.
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -1128,27 +1123,27 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$othercategory = $this->getDataGenerator()->create_category();
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$newcontext = context_coursecat::instance($category->id);
|
||||
$othercategorycontext = context_coursecat::instance($othercategory->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$newcontext = \context_coursecat::instance($category->id);
|
||||
$othercategorycontext = \context_coursecat::instance($othercategory->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the other course category context. These should be
|
||||
// update to the next context id because they represent erroneous data
|
||||
// from a time before context id was mandatory in the tag API.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $othercategorycontext, ['bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $othercategorycontext, ['bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $othercategorycontext, ['bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $othercategorycontext, ['bar']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Each question should have two tags, 'foo' and 'bar'.
|
||||
$this->assertCount(2, $tags);
|
||||
|
||||
|
@ -1169,26 +1164,26 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$newcontext = context_module::instance($quiz->cmid);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$newcontext = \context_module::instance($quiz->cmid);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the course category context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Move the questions to the activity context which is a child context of
|
||||
// $coursecontext.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Each question should have 2 tags.
|
||||
$this->assertCount(2, $tags);
|
||||
|
||||
|
@ -1208,32 +1203,32 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$newcontext = context_module::instance($quiz->cmid);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$newcontext = \context_module::instance($quiz->cmid);
|
||||
$othercourse = $this->getDataGenerator()->create_course();
|
||||
$othercoursecontext = context_course::instance($othercourse->id);
|
||||
$othercoursecontext = \context_course::instance($othercourse->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the course category context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['ctag']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['ctag']);
|
||||
// Create tags in the other course context. These should be deleted.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $othercoursecontext, ['delete']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $othercoursecontext, ['delete']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $othercoursecontext, ['delete']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $othercoursecontext, ['delete']);
|
||||
|
||||
// Move the questions to the activity context which is a child context of
|
||||
// $coursecontext.
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Each question should have 2 tags.
|
||||
$this->assertCount(2, $tags);
|
||||
|
||||
|
@ -1253,21 +1248,21 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('course');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$newcontext = context_module::instance($quiz->cmid);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$newcontext = \context_module::instance($quiz->cmid);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the course context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
foreach ($tags as $tag) {
|
||||
$this->assertEquals($newcontext->id, $tag->taginstancecontextid);
|
||||
|
@ -1283,21 +1278,21 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions();
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$newcontext = context_course::instance($course->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$newcontext = \context_course::instance($course->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the activity context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
|
||||
foreach ($tags as $tag) {
|
||||
$this->assertEquals($newcontext->id, $tag->taginstancecontextid);
|
||||
|
@ -1320,33 +1315,33 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$question2 = $questions[1];
|
||||
$othercategory = $this->getDataGenerator()->create_category();
|
||||
$othercourse = $this->getDataGenerator()->create_course(['category' => $othercategory->id]);
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$newcontext = context_coursecat::instance($category->id);
|
||||
$othercategorycontext = context_coursecat::instance($othercategory->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$othercoursecontext = context_course::instance($othercourse->id);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
$newcontext = \context_coursecat::instance($category->id);
|
||||
$othercategorycontext = \context_coursecat::instance($othercategory->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$othercoursecontext = \context_course::instance($othercourse->id);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$question->contextid = $qcat->contextid;
|
||||
}
|
||||
|
||||
// Create tags in the system context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['foo']);
|
||||
// Create tags in the child course context of the new context.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['bar']);
|
||||
// Create tags in the other course context. These should be deleted when
|
||||
// the question moves to the new course category context because this
|
||||
// course belongs to a different category, which means it will no longer
|
||||
// have access to the question.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $othercoursecontext, ['delete']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $othercoursecontext, ['delete']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $othercoursecontext, ['delete']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $othercoursecontext, ['delete']);
|
||||
|
||||
question_move_question_tags_to_new_context($questions, $newcontext);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
// Each question should have two tags, 'foo' and 'bar'.
|
||||
$this->assertCount(2, $tags);
|
||||
|
||||
|
@ -1372,14 +1367,14 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$qcontext = context::instance_by_id($qcat->contextid);
|
||||
$qcontext = \context::instance_by_id($qcat->contextid);
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $qcontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $qcontext, ['baz', 'bop']);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$categorycontext = context::instance_by_id($qcat->contextid);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$categorycontext = \context::instance_by_id($qcat->contextid);
|
||||
$tagobjects = question_sort_tags($tags, $categorycontext);
|
||||
$expectedtags = [];
|
||||
$actualtags = $tagobjects->tags;
|
||||
|
@ -1411,13 +1406,13 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo', 'bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['baz', 'bop']);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tagobjects = question_sort_tags($tags, $qcat);
|
||||
|
||||
$expectedtags = [];
|
||||
|
@ -1450,19 +1445,19 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
// Create a sibling course.
|
||||
$siblingcourse = $this->getDataGenerator()->create_course(['category' => $course->category]);
|
||||
$siblingcoursecontext = context_course::instance($siblingcourse->id);
|
||||
$siblingcoursecontext = \context_course::instance($siblingcourse->id);
|
||||
|
||||
// Create course tags.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['c1']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['c1']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['c2']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['c2']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['c1']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['c1']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['c2']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['c2']);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tagobjects = question_sort_tags($tags, $qcat);
|
||||
$this->assertCount(2, $tagobjects->coursetagobjects);
|
||||
|
||||
|
@ -1485,20 +1480,20 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category, $course, $quiz, $qcat, $questions) = $this->setup_quiz_and_questions('category');
|
||||
$question1 = $questions[0];
|
||||
$question2 = $questions[1];
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
// Create a sibling course.
|
||||
$siblingcourse = $this->getDataGenerator()->create_course(['category' => $course->category]);
|
||||
$siblingcoursecontext = context_course::instance($siblingcourse->id);
|
||||
$siblingcoursecontext = \context_course::instance($siblingcourse->id);
|
||||
|
||||
// Create course tags.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['bar']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $coursecontext, ['foo']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $coursecontext, ['bar']);
|
||||
// Create sibling course tags. These should be filtered out.
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['filtered1']);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['filtered2']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question1->id, $siblingcoursecontext, ['filtered1']);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $question2->id, $siblingcoursecontext, ['filtered2']);
|
||||
|
||||
foreach ($questions as $question) {
|
||||
$tags = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tags = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tagobjects = question_sort_tags($tags, $qcat, [$course]);
|
||||
foreach ($tagobjects->coursetagobjects as $tag) {
|
||||
|
||||
|
@ -1642,7 +1637,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$questiongenerator = $generator->get_plugin_generator('core_question');
|
||||
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
@ -1671,7 +1666,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
* @param bool $isowner Whether the user to create the question should be the owner or not.
|
||||
* @param bool $expect The expected result.
|
||||
*/
|
||||
public function test_question_has_capability_on_using_stdclass($capabilities, $capability, $isowner, $expect) {
|
||||
public function test_question_has_capability_on_using_stdClass($capabilities, $capability, $isowner, $expect) {
|
||||
$this->resetAfterTest();
|
||||
|
||||
// Create the test data.
|
||||
|
@ -1679,7 +1674,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$otheruser = $this->getDataGenerator()->create_user();
|
||||
$roleid = $this->getDataGenerator()->create_role();
|
||||
$category = $this->getDataGenerator()->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
|
||||
// Assign the user to the role.
|
||||
role_assign($roleid, $user->id, $context->id);
|
||||
|
@ -1725,7 +1720,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$otheruser = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
@ -1771,7 +1766,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$otheruser = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
@ -1817,7 +1812,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$otheruser = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
@ -1863,13 +1858,13 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$otheruser = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
||||
$newcategory = $generator->create_category();
|
||||
$newcontext = context_coursecat::instance($newcategory->id);
|
||||
$newcontext = \context_coursecat::instance($newcategory->id);
|
||||
$newquestioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $newcontext->id,
|
||||
]);
|
||||
|
@ -1919,7 +1914,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$otheruser = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
@ -1954,7 +1949,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$user = $generator->create_user();
|
||||
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
$questioncat = $questiongenerator->create_question_category([
|
||||
'contextid' => $context->id,
|
||||
]);
|
||||
|
@ -1983,7 +1978,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
$generator = $this->getDataGenerator();
|
||||
$questiongenerator = $generator->get_plugin_generator('core_question');
|
||||
$category = $generator->create_category();
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$context = \context_coursecat::instance($category->id);
|
||||
// Create a top category.
|
||||
$cat0 = question_get_top_category($context->id, true);
|
||||
// Add sub-categories.
|
||||
|
@ -2087,13 +2082,13 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
list($category2, $course2, $quiz2, $questioncat2, $questions2) = $this->setup_quiz_and_questions();
|
||||
|
||||
$questionbankentry1 = get_question_bank_entry($questions1[0]->id);
|
||||
$entry = new stdClass();
|
||||
$entry = new \stdClass();
|
||||
$entry->id = $questionbankentry1->id;
|
||||
$entry->idnumber = 1;
|
||||
$DB->update_record('question_bank_entries', $entry);
|
||||
|
||||
$questionbankentry2 = get_question_bank_entry($questions2[0]->id);
|
||||
$entry2 = new stdClass();
|
||||
$entry2 = new \stdClass();
|
||||
$entry2->id = $questionbankentry2->id;
|
||||
$entry2->idnumber = 1;
|
||||
$DB->update_record('question_bank_entries', $entry2);
|
||||
|
@ -2144,7 +2139,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
global $DB;
|
||||
$this->resetAfterTest();
|
||||
// Setup.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$qgen = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$qcat = $qgen->create_question_category(array('contextid' => $context->id));
|
||||
$q1 = $qgen->create_question('shortanswer', null, array('category' => $qcat->id));
|
||||
|
@ -2180,7 +2175,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
global $DB;
|
||||
$this->resetAfterTest();
|
||||
// Setup.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$qgen = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$qcat = $qgen->create_question_category(array('contextid' => $context->id));
|
||||
$q1 = $qgen->create_question('shortanswer', null, array('category' => $qcat->id));
|
||||
|
@ -2209,7 +2204,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
global $DB;
|
||||
$this->resetAfterTest();
|
||||
// Setup.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$qgen = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$qcat = $qgen->create_question_category(array('contextid' => $context->id));
|
||||
$q1 = $qgen->create_question('shortanswer', null, array('category' => $qcat->id));
|
||||
|
@ -2239,7 +2234,7 @@ class core_questionlib_testcase extends advanced_testcase {
|
|||
global $DB;
|
||||
$this->resetAfterTest();
|
||||
// Setup.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$qgen = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$qcat = $qgen->create_question_category(array('contextid' => $context->id));
|
||||
$q1 = $qgen->create_question('shortanswer', null, array('category' => $qcat->id));
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
// 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;
|
||||
|
||||
/**
|
||||
* Unit tests for format_text defined in weblib.php.
|
||||
*
|
||||
|
@ -22,17 +24,7 @@
|
|||
* @copyright 2015 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
||||
/**
|
||||
* Unit tests for format_text defined in weblib.php.
|
||||
*
|
||||
* @copyright 2015 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
*/
|
||||
class core_weblib_format_text_testcase extends advanced_testcase {
|
||||
class weblib_format_text_test extends \advanced_testcase {
|
||||
|
||||
public function test_format_text_format_html() {
|
||||
$this->resetAfterTest();
|
||||
|
|
|
@ -14,23 +14,17 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Unit tests for xhprof.
|
||||
*
|
||||
* @package core
|
||||
* @copyright 2019 Brendan Heywood <brendan@catalyst-au.net>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later (5)
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace core;
|
||||
|
||||
/**
|
||||
* Unit tests for the xhprof class.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2019 Brendan Heywood <brendan@catalyst-au.net>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_xhprof_testcase extends advanced_testcase {
|
||||
class xhprof_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Data provider for string matches
|
||||
|
|
|
@ -14,30 +14,26 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Unit tests for xhtml stack.
|
||||
*
|
||||
* @package core
|
||||
* @category phpunit
|
||||
* @copyright 2009 Tim Hunt
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later (5)
|
||||
*/
|
||||
namespace core;
|
||||
|
||||
use xhtml_container_stack;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->libdir . '/outputlib.php');
|
||||
|
||||
|
||||
/**
|
||||
* Unit tests for the xhtml_container_stack class.
|
||||
*
|
||||
* These tests assume that developer debug mode is on which is enforced by our phpunit integration.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2009 Tim Hunt
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_xhtml_container_stack_testcase extends advanced_testcase {
|
||||
class xhtml_container_stack_test extends \advanced_testcase {
|
||||
public function test_push_then_pop() {
|
||||
// Set up.
|
||||
$stack = new xhtml_container_stack();
|
||||
|
|
|
@ -14,14 +14,7 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Test xmlize xml import.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2017 Kilian Singer {@link http://quantumtechnology.info}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace core;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
@ -31,10 +24,12 @@ require_once($CFG->libdir . '/xmlize.php');
|
|||
/**
|
||||
* This test compares library against the original xmlize XML importer.
|
||||
*
|
||||
* @package core
|
||||
* @category test
|
||||
* @copyright 2017 Kilian Singer {@link http://quantumtechnology.info}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_xmlize_testcase extends basic_testcase {
|
||||
class xmlize_test extends \basic_testcase {
|
||||
/**
|
||||
* Test an XML import using a valid XML file.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue