MDL-73485 phpunit: externallib, generator and filter tescase names
All externallib_test, generator_test and filter_test classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - 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 tests under testing/tests: 1) The core_testing component doesn't exist. 2) But testing/tests are allowed because there is a suite pointing to it (phpunit.xml). 3) So, the only possible namespace for them is "core". 4) And to avoid problems with other core testcases (under lib/tests) they have been renamed to have testing_xxxx as prefix. Finally, also modified calendar/tests/event/events_test.php because it uses some renamed (core_calendar_externallib_testcase => \core_calendar\externallib_test) classes.
This commit is contained in:
@@ -13,22 +13,10 @@
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
/**
|
||||
* External learning plans webservice API tests.
|
||||
*
|
||||
* @package tool_lp
|
||||
* @copyright 2015 Damyon Wiese
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
namespace tool_lp;
|
||||
|
||||
use core_competency\api;
|
||||
use tool_lp\external;
|
||||
use core_competency\invalid_persistent_exception;
|
||||
use core_competency\plan;
|
||||
use core_competency\related_competency;
|
||||
@@ -38,6 +26,13 @@ use core_competency\plan_competency;
|
||||
use core_competency\template;
|
||||
use core_competency\template_competency;
|
||||
use core_competency\course_competency_settings;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
|
||||
/**
|
||||
* External learning plans webservice API tests.
|
||||
@@ -46,24 +41,24 @@ use core_competency\course_competency_settings;
|
||||
* @copyright 2015 Damyon Wiese
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/** @var stdClass $creator User with enough permissions to create insystem context. */
|
||||
/** @var \stdClass $creator User with enough permissions to create insystem context. */
|
||||
protected $creator = null;
|
||||
|
||||
/** @var stdClass $catcreator User with enough permissions to create incategory context. */
|
||||
/** @var \stdClass $catcreator User with enough permissions to create incategory context. */
|
||||
protected $catcreator = null;
|
||||
|
||||
/** @var stdClass $category Category */
|
||||
/** @var \stdClass $category Category */
|
||||
protected $category = null;
|
||||
|
||||
/** @var stdClass $category Category */
|
||||
/** @var \stdClass $category Category */
|
||||
protected $othercategory = null;
|
||||
|
||||
/** @var stdClass $user User with enough permissions to view insystem context */
|
||||
/** @var \stdClass $user User with enough permissions to view insystem context */
|
||||
protected $user = null;
|
||||
|
||||
/** @var stdClass $catuser User with enough permissions to view incategory context */
|
||||
/** @var \stdClass $catuser User with enough permissions to view incategory context */
|
||||
protected $catuser = null;
|
||||
|
||||
/** @var int Creator role id */
|
||||
@@ -87,8 +82,8 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
$catcreator = $this->getDataGenerator()->create_user();
|
||||
$category = $this->getDataGenerator()->create_category();
|
||||
$othercategory = $this->getDataGenerator()->create_category();
|
||||
$syscontext = context_system::instance();
|
||||
$catcontext = context_coursecat::instance($category->id);
|
||||
$syscontext = \context_system::instance();
|
||||
$catcontext = \context_coursecat::instance($category->id);
|
||||
|
||||
// Fetching default authenticated user role.
|
||||
$authrole = $DB->get_record('role', array('id' => $CFG->defaultuserroleid));
|
||||
@@ -157,33 +152,33 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// First we search with no capability assigned.
|
||||
$this->setUser($ux);
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(0, $result['users']);
|
||||
$this->assertEquals(0, $result['count']);
|
||||
|
||||
// Now we assign a different capability.
|
||||
$usercontext = context_user::instance($u1->id);
|
||||
$systemcontext = context_system::instance();
|
||||
$usercontext = \context_user::instance($u1->id);
|
||||
$systemcontext = \context_system::instance();
|
||||
$customrole = $this->assignUserCapability('moodle/competency:planview', $usercontext->id);
|
||||
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(0, $result['users']);
|
||||
$this->assertEquals(0, $result['count']);
|
||||
|
||||
// Now we assign a matching capability in the same role.
|
||||
$usercontext = context_user::instance($u1->id);
|
||||
$usercontext = \context_user::instance($u1->id);
|
||||
$this->assignUserCapability('moodle/competency:planmanage', $usercontext->id, $customrole);
|
||||
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
|
||||
// Now assign another role with the same capability (test duplicates).
|
||||
role_assign($this->creatorrole, $ux->id, $usercontext->id);
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
|
||||
@@ -192,7 +187,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
role_assign($this->creatorrole, $ux2->id, $systemcontext->id);
|
||||
$this->setUser($ux2);
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
|
||||
@@ -201,7 +196,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
role_assign($this->creatorrole, $ux3->id, $usercontext->id);
|
||||
$this->setUser($ux3);
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
|
||||
@@ -211,14 +206,14 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// Now add a prevent override (will change nothing because we still have an ALLOW).
|
||||
assign_capability('moodle/competency:planmanage', CAP_PREVENT, $customrole, $usercontext->id);
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
|
||||
// Now change to a prohibit override (should prevent access).
|
||||
assign_capability('moodle/competency:planmanage', CAP_PROHIBIT, $customrole, $usercontext->id);
|
||||
$result = external::search_users('yyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
|
||||
@@ -237,10 +232,10 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
$slave2 = $dg->create_user(array('lastname' => 'MOODLER'));
|
||||
$slave3 = $dg->create_user(array('lastname' => 'MOODLER'));
|
||||
|
||||
$syscontext = context_system::instance();
|
||||
$slave1context = context_user::instance($slave1->id);
|
||||
$slave2context = context_user::instance($slave2->id);
|
||||
$slave3context = context_user::instance($slave3->id);
|
||||
$syscontext = \context_system::instance();
|
||||
$slave1context = \context_user::instance($slave1->id);
|
||||
$slave2context = \context_user::instance($slave2->id);
|
||||
$slave3context = \context_user::instance($slave3->id);
|
||||
|
||||
// Creating a role giving the site config.
|
||||
$roleid = $dg->create_role();
|
||||
@@ -306,19 +301,19 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// We need to give the user the capability we are searching for on each of the test users.
|
||||
$this->setAdminUser();
|
||||
$usercontext = context_user::instance($u1->id);
|
||||
$usercontext = \context_user::instance($u1->id);
|
||||
$dummyrole = $this->assignUserCapability('moodle/competency:planmanage', $usercontext->id);
|
||||
$usercontext = context_user::instance($u2->id);
|
||||
$usercontext = \context_user::instance($u2->id);
|
||||
$this->assignUserCapability('moodle/competency:planmanage', $usercontext->id, $dummyrole);
|
||||
$usercontext = context_user::instance($u3->id);
|
||||
$usercontext = \context_user::instance($u3->id);
|
||||
$this->assignUserCapability('moodle/competency:planmanage', $usercontext->id, $dummyrole);
|
||||
|
||||
$this->setUser($ux);
|
||||
$usercontext = context_user::instance($u1->id);
|
||||
$usercontext = \context_user::instance($u1->id);
|
||||
$this->assignUserCapability('moodle/competency:planmanage', $usercontext->id, $dummyrole);
|
||||
$usercontext = context_user::instance($u2->id);
|
||||
$usercontext = \context_user::instance($u2->id);
|
||||
$this->assignUserCapability('moodle/competency:planmanage', $usercontext->id, $dummyrole);
|
||||
$usercontext = context_user::instance($u3->id);
|
||||
$usercontext = \context_user::instance($u3->id);
|
||||
$this->assignUserCapability('moodle/competency:planmanage', $usercontext->id, $dummyrole);
|
||||
|
||||
$this->setAdminUser();
|
||||
@@ -326,14 +321,14 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// No identity fields.
|
||||
$CFG->showuseridentity = '';
|
||||
$result = external::search_users('cats', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(0, $result['users']);
|
||||
$this->assertEquals(0, $result['count']);
|
||||
|
||||
// Filter by name.
|
||||
$CFG->showuseridentity = '';
|
||||
$result = external::search_users('dyyylan', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(2, $result['users']);
|
||||
$this->assertEquals(2, $result['count']);
|
||||
$this->assertEquals($u2->id, $result['users'][0]['id']);
|
||||
@@ -342,7 +337,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// Filter by institution and name.
|
||||
$CFG->showuseridentity = 'institution';
|
||||
$result = external::search_users('bob', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(2, $result['users']);
|
||||
$this->assertEquals(2, $result['count']);
|
||||
$this->assertEquals($u1->id, $result['users'][0]['id']);
|
||||
@@ -351,7 +346,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// Filter by id number.
|
||||
$CFG->showuseridentity = 'idnumber';
|
||||
$result = external::search_users('cats', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
$this->assertEquals($u1->id, $result['users'][0]['id']);
|
||||
@@ -365,7 +360,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// Filter by email.
|
||||
$CFG->showuseridentity = 'email';
|
||||
$result = external::search_users('yyy', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(3, $result['users']);
|
||||
$this->assertEquals(3, $result['count']);
|
||||
$this->assertEquals($u2->id, $result['users'][0]['id']);
|
||||
@@ -378,7 +373,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
// Filter by any.
|
||||
$CFG->showuseridentity = 'idnumber,email,phone1,phone2,department,institution';
|
||||
$result = external::search_users('yyy', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(3, $result['users']);
|
||||
$this->assertEquals(3, $result['count']);
|
||||
$this->assertArrayHasKey('idnumber', $result['users'][0]);
|
||||
@@ -394,12 +389,12 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Only names are included.
|
||||
$result = external::search_users('fish');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(0, $result['users']);
|
||||
$this->assertEquals(0, $result['count']);
|
||||
|
||||
$result = external::search_users('bob', 'moodle/competency:planmanage');
|
||||
$result = external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::search_users_returns(), $result);
|
||||
$this->assertCount(1, $result['users']);
|
||||
$this->assertEquals(1, $result['count']);
|
||||
$this->assertEquals($u1->id, $result['users'][0]['id']);
|
||||
|
||||
@@ -14,15 +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/>.
|
||||
|
||||
/**
|
||||
* Moodle Mobile admin tool external functions tests.
|
||||
*
|
||||
* @package tool_mobile
|
||||
* @category external
|
||||
* @copyright 2016 Juan Leyva
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.1
|
||||
*/
|
||||
namespace tool_mobile;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -32,9 +26,6 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/admin/tool/mobile/tests/fixtures/output/mobile.php');
|
||||
require_once($CFG->dirroot . '/webservice/lib.php');
|
||||
|
||||
use tool_mobile\external;
|
||||
use tool_mobile\api;
|
||||
|
||||
/**
|
||||
* Moodle Mobile admin tool external functions tests.
|
||||
*
|
||||
@@ -43,7 +34,7 @@ use tool_mobile\api;
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.1
|
||||
*/
|
||||
class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test get_plugins_supporting_mobile.
|
||||
@@ -51,7 +42,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
*/
|
||||
public function test_get_plugins_supporting_mobile() {
|
||||
$result = external::get_plugins_supporting_mobile();
|
||||
$result = external_api::clean_returnvalue(external::get_plugins_supporting_mobile_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_plugins_supporting_mobile_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertArrayHasKey('plugins', $result);
|
||||
$this->assertTrue(is_array($result['plugins']));
|
||||
@@ -62,10 +53,10 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
$result = external::get_public_config();
|
||||
$result = external_api::clean_returnvalue(external::get_public_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_public_config_returns(), $result);
|
||||
|
||||
// Test default values.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
list($authinstructions, $notusedformat) = external_format_text($CFG->auth_instructions, FORMAT_MOODLE, $context->id);
|
||||
list($maintenancemessage, $notusedformat) = external_format_text($CFG->maintenance_message, FORMAT_MOODLE, $context->id);
|
||||
|
||||
@@ -123,7 +114,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$irecord = $issuer->to_record();
|
||||
$irecord->clientid = 'mock';
|
||||
$irecord->clientsecret = 'mock';
|
||||
core\oauth2\api::update_issuer($irecord);
|
||||
\core\oauth2\api::update_issuer($irecord);
|
||||
|
||||
set_config('hostname', 'localhost', 'auth_cas');
|
||||
set_config('auth_logo', 'http://invalidurl.com//invalid/', 'auth_cas');
|
||||
@@ -151,7 +142,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = external::get_public_config();
|
||||
$result = external_api::clean_returnvalue(external::get_public_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_public_config_returns(), $result);
|
||||
// First check providers.
|
||||
$identityproviders = $result['identityproviders'];
|
||||
unset($result['identityproviders']);
|
||||
@@ -170,7 +161,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$newurl = 'validimage.png';
|
||||
set_config('auth_logo', $newurl, 'auth_cas');
|
||||
$result = external::get_public_config();
|
||||
$result = external_api::clean_returnvalue(external::get_public_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_public_config_returns(), $result);
|
||||
$this->assertStringContainsString($newurl, $result['identityproviders'][1]['iconurl']);
|
||||
}
|
||||
|
||||
@@ -187,13 +178,13 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
set_config('sitepolicy', $mysitepolicy);
|
||||
|
||||
$result = external::get_config();
|
||||
$result = external_api::clean_returnvalue(external::get_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_config_returns(), $result);
|
||||
|
||||
// SITE summary is null in phpunit which gets transformed to an empty string by format_text.
|
||||
list($sitesummary, $unused) = external_format_text($SITE->summary, $SITE->summaryformat, context_system::instance()->id);
|
||||
list($sitesummary, $unused) = external_format_text($SITE->summary, $SITE->summaryformat, \context_system::instance()->id);
|
||||
|
||||
// Test default values.
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$expected = array(
|
||||
array('name' => 'fullname', 'value' => $SITE->fullname),
|
||||
array('name' => 'shortname', 'value' => $SITE->shortname),
|
||||
@@ -247,7 +238,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
array_splice($expected, 11);
|
||||
|
||||
$result = external::get_config('frontpagesettings');
|
||||
$result = external_api::clean_returnvalue(external::get_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_config_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals($expected, $result['settings']);
|
||||
}
|
||||
@@ -273,7 +264,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$_GET['wstoken'] = $token->token; // Mock parameters.
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
// Even if we force the password change for the current user we should be able to retrieve the key.
|
||||
@@ -281,9 +272,9 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setCurrentTimeStart();
|
||||
$result = external::get_autologin_key($token->privatetoken);
|
||||
$result = external_api::clean_returnvalue(external::get_autologin_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_autologin_key_returns(), $result);
|
||||
// Validate the key.
|
||||
$this->assertEquals(32, core_text::strlen($result['key']));
|
||||
$this->assertEquals(32, \core_text::strlen($result['key']));
|
||||
$key = $DB->get_record('user_private_key', array('value' => $result['key']));
|
||||
$this->assertEquals($USER->id, $key->userid);
|
||||
$this->assertTimeCurrent($key->validuntil - api::LOGIN_KEY_TTL);
|
||||
@@ -304,7 +295,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
// Need to disable webservices to verify that's checked.
|
||||
@@ -324,7 +315,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
global $CFG;
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
// Need to simulate a non HTTPS site here.
|
||||
@@ -348,7 +339,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
$this->expectException('moodle_exception');
|
||||
@@ -372,17 +363,17 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$_GET['wstoken'] = $token->token; // Mock parameters.
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
$result = external::get_autologin_key($token->privatetoken);
|
||||
$result = external_api::clean_returnvalue(external::get_autologin_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_autologin_key_returns(), $result);
|
||||
|
||||
// Mock last time request.
|
||||
$mocktime = time() - 7 * MINSECS;
|
||||
set_user_preference('tool_mobile_autologin_request_last', $mocktime, $USER);
|
||||
$result = external::get_autologin_key($token->privatetoken);
|
||||
$result = external_api::clean_returnvalue(external::get_autologin_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_autologin_key_returns(), $result);
|
||||
|
||||
// We just requested one token, we must wait.
|
||||
$this->expectException('moodle_exception');
|
||||
@@ -411,7 +402,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$paramval = 16;
|
||||
$result = external::get_content('tool_mobile', 'test_view', array(array('name' => 'param1', 'value' => $paramval)));
|
||||
$result = external_api::clean_returnvalue(external::get_content_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_content_returns(), $result);
|
||||
$this->assertCount(1, $result['templates']);
|
||||
$this->assertCount(1, $result['otherdata']);
|
||||
$this->assertCount(2, $result['restrict']['users']);
|
||||
@@ -435,7 +426,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$paramval = 16;
|
||||
$result = external::get_content('tool_mobile', 'test_view_disabled',
|
||||
array(array('name' => 'param1', 'value' => $paramval)));
|
||||
$result = external_api::clean_returnvalue(external::get_content_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_content_returns(), $result);
|
||||
$this->assertTrue($result['disabled']);
|
||||
}
|
||||
|
||||
@@ -492,7 +483,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$token = external_generate_token_for_current_user($service);
|
||||
$_POST['wstoken'] = $token->token;
|
||||
|
||||
// Workaround for external_api::call_external_function requiring sesskey.
|
||||
// Workaround for \external_api::call_external_function requiring sesskey.
|
||||
$_POST['sesskey'] = sesskey();
|
||||
|
||||
// Call some functions.
|
||||
@@ -518,21 +509,21 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$result = external::call_external_functions($requests);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(external::call_external_functions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::call_external_functions_returns(), $result);
|
||||
|
||||
// Only 3 responses, the 4th request is not executed because the 3rd throws an exception.
|
||||
$this->assertCount(3, $result['responses']);
|
||||
|
||||
$this->assertFalse($result['responses'][0]['error']);
|
||||
$coursedata = external_api::clean_returnvalue(
|
||||
core_course_external::get_courses_by_field_returns(),
|
||||
core_course_external::get_courses_by_field('id', $course->id));
|
||||
$coursedata = \external_api::clean_returnvalue(
|
||||
\core_course_external::get_courses_by_field_returns(),
|
||||
\core_course_external::get_courses_by_field('id', $course->id));
|
||||
$this->assertEquals(json_encode($coursedata), $result['responses'][0]['data']);
|
||||
|
||||
$this->assertFalse($result['responses'][1]['error']);
|
||||
$userdata = external_api::clean_returnvalue(
|
||||
core_user_external::get_users_by_field_returns(),
|
||||
core_user_external::get_users_by_field('id', [$user1->id]));
|
||||
$userdata = \external_api::clean_returnvalue(
|
||||
\core_user_external::get_users_by_field_returns(),
|
||||
\core_user_external::get_users_by_field('id', [$user1->id]));
|
||||
$this->assertEquals(json_encode($userdata), $result['responses'][1]['data']);
|
||||
|
||||
$this->assertTrue($result['responses'][2]['error']);
|
||||
@@ -627,11 +618,11 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$token = external_generate_token_for_current_user($service);
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
$result = external::get_tokens_for_qr_login($qrloginkey, $USER->id);
|
||||
$result = external_api::clean_returnvalue(external::get_tokens_for_qr_login_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_tokens_for_qr_login_returns(), $result);
|
||||
|
||||
$this->assertEmpty($result['warnings']);
|
||||
$this->assertEquals($token->token, $result['token']);
|
||||
@@ -651,7 +642,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
$this->setAdminUser();
|
||||
|
||||
set_config('qrcodetype', tool_mobile\api::QR_CODE_DISABLED, 'tool_mobile');
|
||||
set_config('qrcodetype', api::QR_CODE_DISABLED, 'tool_mobile');
|
||||
|
||||
$this->expectExceptionMessage(get_string('qrcodedisabled', 'tool_mobile'));
|
||||
$result = external::get_tokens_for_qr_login('', $USER->id);
|
||||
@@ -668,7 +659,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($user);
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
// Need to disable webservices to verify that's checked.
|
||||
@@ -688,7 +679,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
global $CFG, $USER;
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
// Need to simulate a non HTTPS site here.
|
||||
@@ -712,7 +703,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
|
||||
// Fake the app.
|
||||
core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
\core_useragent::instance(true, 'Mozilla/5.0 (Linux; Android 7.1.1; Moto G Play Build/NPIS26.48-43-2; wv) ' .
|
||||
'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 MoodleMobile');
|
||||
|
||||
$this->expectException('moodle_exception');
|
||||
@@ -744,7 +735,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
set_config('sitesubscriptionkey', json_encode($sitesubscriptionkey), 'tool_mobile');
|
||||
|
||||
$result = external::validate_subscription_key($sitesubscriptionkey['key']);
|
||||
$result = external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
$this->assertTrue($result['validated']);
|
||||
}
|
||||
@@ -759,13 +750,13 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
set_config('sitesubscriptionkey', json_encode($sitesubscriptionkey), 'tool_mobile');
|
||||
|
||||
$result = external::validate_subscription_key('fakekey');
|
||||
$result = external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
$this->assertFalse($result['validated']);
|
||||
|
||||
// The valid one has been invalidated because the previous attempt.
|
||||
$result = external::validate_subscription_key($sitesubscriptionkey['key']);
|
||||
$result = external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
$this->assertFalse($result['validated']);
|
||||
}
|
||||
@@ -777,7 +768,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$result = external::validate_subscription_key('fakekey');
|
||||
$result = external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
$this->assertFalse($result['validated']);
|
||||
}
|
||||
@@ -792,7 +783,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
|
||||
set_config('sitesubscriptionkey', json_encode($sitesubscriptionkey), 'tool_mobile');
|
||||
|
||||
$result = external::validate_subscription_key($sitesubscriptionkey['key']);
|
||||
$result = external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::validate_subscription_key_returns(), $result);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
$this->assertFalse($result['validated']);
|
||||
}
|
||||
|
||||
@@ -14,16 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests.
|
||||
*
|
||||
* @package tool_monitor
|
||||
* @category test
|
||||
* @copyright 2014 onwards Simey Lameze <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace tool_monitor;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator test case.
|
||||
@@ -34,7 +25,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2014 onwards Simey Lameze <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class tool_monitor_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up method.
|
||||
@@ -55,7 +46,7 @@ class tool_monitor_generator_testcase extends advanced_testcase {
|
||||
|
||||
$rulegenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor');
|
||||
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->courseid = $course->id;
|
||||
$record->userid = $user->id;
|
||||
|
||||
@@ -77,7 +68,7 @@ class tool_monitor_generator_testcase extends advanced_testcase {
|
||||
$monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor');
|
||||
$rule = $monitorgenerator->create_rule();
|
||||
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->courseid = $course->id;
|
||||
$record->userid = $user->id;
|
||||
$record->ruleid = $rule->id;
|
||||
|
||||
@@ -14,13 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External policy webservice API tests.
|
||||
*
|
||||
* @package tool_policy
|
||||
* @copyright 2018 Sara Arjona <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace tool_policy;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use tool_mobile\external as external_mobile;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -30,10 +27,6 @@ require_once($CFG->libdir . '/externallib.php');
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/user/externallib.php');
|
||||
|
||||
use tool_policy\api;
|
||||
use tool_policy\external;
|
||||
use tool_mobile\external as external_mobile;
|
||||
|
||||
/**
|
||||
* External policy webservice API tests.
|
||||
*
|
||||
@@ -41,7 +34,7 @@ use tool_mobile\external as external_mobile;
|
||||
* @copyright 2018 Sara Arjona <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Setup function- we will create some policy docs.
|
||||
@@ -73,8 +66,8 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
$this->parent = $this->getDataGenerator()->create_user();
|
||||
$this->adult = $this->getDataGenerator()->create_user();
|
||||
|
||||
$syscontext = context_system::instance();
|
||||
$childcontext = context_user::instance($this->child->id);
|
||||
$syscontext = \context_system::instance();
|
||||
$childcontext = \context_user::instance($this->child->id);
|
||||
|
||||
$roleminorid = create_role('Digital minor', 'digiminor', 'Not old enough to accept site policies themselves');
|
||||
$roleparentid = create_role('Parent', 'parent', 'Can accept policies on behalf of their child');
|
||||
@@ -94,21 +87,21 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// View current policy version.
|
||||
$result = external::get_policy_version($this->policy2->get('id'));
|
||||
$result = external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$this->assertCount(1, $result['result']);
|
||||
$this->assertEquals($this->policy1->get('name'), $result['result']['policy']['name']);
|
||||
$this->assertEquals($this->policy1->get('content'), $result['result']['policy']['content']);
|
||||
|
||||
// View draft policy version.
|
||||
$result = external::get_policy_version($this->policy3->get('id'));
|
||||
$result = external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$this->assertCount(0, $result['result']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals(array_pop($result['warnings'])['warningcode'], 'errorusercantviewpolicyversion');
|
||||
|
||||
// Add test for non existing versionid.
|
||||
$result = external::get_policy_version(999);
|
||||
$result = external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$this->assertCount(0, $result['result']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals(array_pop($result['warnings'])['warningcode'], 'errorpolicyversionnotfound');
|
||||
@@ -116,7 +109,7 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
// View previous non-accepted version in behalf of a child.
|
||||
$this->setUser($this->parent);
|
||||
$result = external::get_policy_version($this->policy1->get('id'), $this->child->id);
|
||||
$result = external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$this->assertCount(0, $result['result']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals(array_pop($result['warnings'])['warningcode'], 'errorusercantviewpolicyversion');
|
||||
@@ -124,7 +117,7 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
// Let the parent accept the policy on behalf of her child and view it again.
|
||||
api::accept_policies($this->policy1->get('id'), $this->child->id);
|
||||
$result = external::get_policy_version($this->policy1->get('id'), $this->child->id);
|
||||
$result = external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$this->assertCount(1, $result['result']);
|
||||
$this->assertEquals($this->policy1->get('name'), $result['result']['policy']['name']);
|
||||
$this->assertEquals($this->policy1->get('content'), $result['result']['policy']['content']);
|
||||
@@ -132,7 +125,7 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
// Only parent is able to view the child policy version accepted by her child.
|
||||
$this->setUser($this->adult);
|
||||
$result = external::get_policy_version($this->policy1->get('id'), $this->child->id);
|
||||
$result = external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external::get_policy_version_returns(), $result);
|
||||
$this->assertCount(0, $result['result']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals(array_pop($result['warnings'])['warningcode'], 'errorusercantviewpolicyversion');
|
||||
@@ -148,9 +141,9 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Set the handler for the site policy, make sure it substitutes link to the sitepolicy.
|
||||
$CFG->sitepolicyhandler = 'tool_policy';
|
||||
$sitepolicymanager = new core_privacy\local\sitepolicy\manager();
|
||||
$sitepolicymanager = new \core_privacy\local\sitepolicy\manager();
|
||||
$result = external_mobile::get_config();
|
||||
$result = external_api::clean_returnvalue(external_mobile::get_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external_mobile::get_config_returns(), $result);
|
||||
$toolsitepolicy = $sitepolicymanager->get_embed_url();
|
||||
foreach (array_values($result['settings']) as $r) {
|
||||
if ($r['name'] == 'sitepolicy') {
|
||||
@@ -173,25 +166,25 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
// Set mock site policy handler. See function tool_phpunit_site_policy_handler() below.
|
||||
$CFG->sitepolicyhandler = 'tool_policy';
|
||||
$this->assertEquals(0, $USER->policyagreed);
|
||||
$sitepolicymanager = new core_privacy\local\sitepolicy\manager();
|
||||
$sitepolicymanager = new \core_privacy\local\sitepolicy\manager();
|
||||
|
||||
// Make sure user can not login.
|
||||
$toolconsentpage = $sitepolicymanager->get_redirect_url();
|
||||
$this->expectException('moodle_exception');
|
||||
$this->expectException(\moodle_exception::class);
|
||||
$this->expectExceptionMessage(get_string('sitepolicynotagreed', 'error', $toolconsentpage->out()));
|
||||
core_user_external::validate_context(context_system::instance());
|
||||
\core_user_external::validate_context(\context_system::instance());
|
||||
|
||||
// Call WS to agree to the site policy. It will call tool_policy handler.
|
||||
$result = core_user_external::agree_site_policy();
|
||||
$result = external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$result = \core_user_external::agree_site_policy();
|
||||
$result = \external_api::clean_returnvalue(\core_user_external::agree_site_policy_returns(), $result);
|
||||
$this->assertTrue($result['status']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals(1, $USER->policyagreed);
|
||||
$this->assertEquals(1, $DB->get_field('user', 'policyagreed', array('id' => $USER->id)));
|
||||
|
||||
// Try again, we should get a warning.
|
||||
$result = core_user_external::agree_site_policy();
|
||||
$result = external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$result = \core_user_external::agree_site_policy();
|
||||
$result = \external_api::clean_returnvalue(\core_user_external::agree_site_policy_returns(), $result);
|
||||
$this->assertFalse($result['status']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals('alreadyagreed', $result['warnings'][0]['warningcode']);
|
||||
@@ -205,8 +198,8 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
$CFG->sitepolicyhandler = 'tool_policy';
|
||||
$syscontext = context_system::instance();
|
||||
$sitepolicymanager = new core_privacy\local\sitepolicy\manager();
|
||||
$syscontext = \context_system::instance();
|
||||
$sitepolicymanager = new \core_privacy\local\sitepolicy\manager();
|
||||
|
||||
$adult = $this->getDataGenerator()->create_user();
|
||||
|
||||
@@ -218,15 +211,15 @@ class tool_policy_external_testcase extends externallib_advanced_testcase {
|
||||
// Default user can accept policies.
|
||||
$this->setUser($adult);
|
||||
$result = external_mobile::get_config();
|
||||
$result = external_api::clean_returnvalue(external_mobile::get_config_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(external_mobile::get_config_returns(), $result);
|
||||
$toolsitepolicy = $sitepolicymanager->accept();
|
||||
$this->assertTrue($toolsitepolicy);
|
||||
|
||||
// Child user can not accept policies.
|
||||
$this->setUser($child);
|
||||
$result = external_mobile::get_config();
|
||||
$result = external_api::clean_returnvalue(external_mobile::get_config_returns(), $result);
|
||||
$this->expectException('required_capability_exception');
|
||||
$result = \external_api::clean_returnvalue(external_mobile::get_config_returns(), $result);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
$sitepolicymanager->accept();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,16 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
namespace tool_templatelibrary;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
|
||||
use tool_templatelibrary\external;
|
||||
|
||||
/**
|
||||
* External learning plans webservice API tests.
|
||||
*
|
||||
@@ -29,7 +31,7 @@ use tool_templatelibrary\external;
|
||||
* @copyright 2015 Damyon Wiese
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class tool_templatelibrary_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test list all.
|
||||
|
||||
@@ -14,14 +14,11 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Backup webservice tests.
|
||||
*
|
||||
* @package core_backup
|
||||
* @copyright 2020 onward The Moodle Users Association <https://moodleassociation.org/>
|
||||
* @author Matt Porritt <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace core_backup;
|
||||
|
||||
use backup;
|
||||
use core_backup_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +36,7 @@ require_once($CFG->dirroot . '/backup/externallib.php');
|
||||
* @author Matt Porritt <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class backup_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up tasks for all tests.
|
||||
@@ -93,7 +90,7 @@ class backup_external_testcase extends externallib_advanced_testcase {
|
||||
$returnvalue = core_backup_external::get_copy_progress($params);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$returnvalue = external_api::clean_returnvalue(core_backup_external::get_copy_progress_returns(), $returnvalue);
|
||||
$returnvalue = \external_api::clean_returnvalue(core_backup_external::get_copy_progress_returns(), $returnvalue);
|
||||
|
||||
$this->assertEquals(\backup::STATUS_AWAITING, $returnvalue[0]['status']);
|
||||
$this->assertEquals(0, $returnvalue[0]['progress']);
|
||||
@@ -114,7 +111,7 @@ class backup_external_testcase extends externallib_advanced_testcase {
|
||||
$params = array('copies' => $copydetails);
|
||||
$returnvalue = core_backup_external::get_copy_progress($params);
|
||||
|
||||
$returnvalue = external_api::clean_returnvalue(core_backup_external::get_copy_progress_returns(), $returnvalue);
|
||||
$returnvalue = \external_api::clean_returnvalue(core_backup_external::get_copy_progress_returns(), $returnvalue);
|
||||
|
||||
$this->assertEquals(\backup::STATUS_FINISHED_OK, $returnvalue[0]['status']);
|
||||
$this->assertEquals(1, $returnvalue[0]['progress']);
|
||||
@@ -163,7 +160,7 @@ class backup_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$returnvalue = core_backup_external::submit_copy_form($jsonformdata);
|
||||
|
||||
$returnjson = external_api::clean_returnvalue(core_backup_external::submit_copy_form_returns(), $returnvalue);
|
||||
$returnjson = \external_api::clean_returnvalue(core_backup_external::submit_copy_form_returns(), $returnvalue);
|
||||
$copyids = json_decode($returnjson, true);
|
||||
|
||||
$backuprec = $DB->get_record('backup_controllers', array('backupid' => $copyids['backupid']));
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests
|
||||
*
|
||||
* @package block_online_users
|
||||
* @category phpunit
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace block_online_users;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class block_online_users_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB;
|
||||
|
||||
|
||||
@@ -14,15 +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/>.
|
||||
|
||||
/**
|
||||
* External block functions unit tests
|
||||
*
|
||||
* @package block_recentlyaccesseditems
|
||||
* @category external
|
||||
* @copyright 2018 Victor Deniz <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.6
|
||||
*/
|
||||
namespace block_recentlyaccesseditems;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +33,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.6
|
||||
*/
|
||||
class block_recentlyaccesseditems_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test the get_recent_items function.
|
||||
@@ -76,7 +70,7 @@ class block_recentlyaccesseditems_externallib_testcase extends externallib_advan
|
||||
|
||||
// Student access all forums.
|
||||
foreach ($forum as $module) {
|
||||
$event = \mod_forum\event\course_module_viewed::create(array('context' => context_module::instance($module->cmid),
|
||||
$event = \mod_forum\event\course_module_viewed::create(array('context' => \context_module::instance($module->cmid),
|
||||
'objectid' => $module->id));
|
||||
$event->trigger();
|
||||
$this->waitForSecond();
|
||||
@@ -88,7 +82,7 @@ class block_recentlyaccesseditems_externallib_testcase extends externallib_advan
|
||||
|
||||
// Student access all assignments.
|
||||
foreach ($chat as $module) {
|
||||
$event = \mod_chat\event\course_module_viewed::create(array('context' => context_module::instance($module->cmid),
|
||||
$event = \mod_chat\event\course_module_viewed::create(array('context' => \context_module::instance($module->cmid),
|
||||
'objectid' => $module->id));
|
||||
$event->trigger();
|
||||
$this->waitForSecond();
|
||||
@@ -114,4 +108,4 @@ class block_recentlyaccesseditems_externallib_testcase extends externallib_advan
|
||||
$result = \block_recentlyaccesseditems\external::get_recent_items();
|
||||
$this->assertCount((count($forum) + count($chat)) - 3, $result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External block functions unit tests
|
||||
*
|
||||
* @package core_block
|
||||
* @category external
|
||||
* @copyright 2017 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.3
|
||||
*/
|
||||
namespace core_block;
|
||||
|
||||
use core_block_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -40,7 +35,7 @@ require_once($CFG->dirroot . '/my/lib.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test get_course_blocks
|
||||
@@ -55,8 +50,8 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
$studentrole = $DB->get_record('role', array('shortname' => 'student'));
|
||||
$this->getDataGenerator()->enrol_user($user->id, $course->id, $studentrole->id);
|
||||
|
||||
$page = new moodle_page();
|
||||
$page->set_context(context_course::instance($course->id));
|
||||
$page = new \moodle_page();
|
||||
$page->set_context(\context_course::instance($course->id));
|
||||
$page->set_pagelayout('course');
|
||||
$course->format = course_get_format($course)->get_format();
|
||||
$page->set_pagetype('course-view-' . $course->format);
|
||||
@@ -68,7 +63,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check for the new block.
|
||||
$result = core_block_external::get_course_blocks($course->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
|
||||
// Expect the new block.
|
||||
$this->assertCount(1, $result['blocks']);
|
||||
@@ -85,8 +80,8 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$user = $this->getDataGenerator()->create_user();
|
||||
|
||||
$page = new moodle_page();
|
||||
$page->set_context(context_course::instance(SITEID));
|
||||
$page = new \moodle_page();
|
||||
$page->set_context(\context_course::instance(SITEID));
|
||||
$page->set_pagelayout('frontpage');
|
||||
$page->set_pagetype('site-index');
|
||||
$page->blocks->load_blocks();
|
||||
@@ -97,7 +92,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check for the new block.
|
||||
$result = core_block_external::get_course_blocks(SITEID);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
|
||||
// Expect the new block.
|
||||
$this->assertCount(1, $result['blocks']);
|
||||
@@ -124,7 +119,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Try default blocks.
|
||||
$result = core_block_external::get_course_blocks($course->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
|
||||
// Expect 4 default blocks.
|
||||
$this->assertCount(4, $result['blocks']);
|
||||
@@ -151,13 +146,13 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$studentrole = $DB->get_record('role', array('shortname' => 'student'));
|
||||
$this->getDataGenerator()->enrol_user($user->id, $course->id, $studentrole->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
// Create a HTML block.
|
||||
$title = 'Some course info';
|
||||
$body = 'Some course info<br /><p>Some contents</p>';
|
||||
$bodyformat = FORMAT_MOODLE;
|
||||
$page = new moodle_page();
|
||||
$page = new \moodle_page();
|
||||
$page->set_context($coursecontext);
|
||||
$page->set_pagelayout('course');
|
||||
$course->format = course_get_format($course)->get_format();
|
||||
@@ -168,7 +163,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($user);
|
||||
// Re-create the page.
|
||||
$page = new moodle_page();
|
||||
$page = new \moodle_page();
|
||||
$page->set_context($coursecontext);
|
||||
$page->set_pagelayout('course');
|
||||
$course->format = course_get_format($course)->get_format();
|
||||
@@ -192,7 +187,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
$block->instance_config_save((object) $configdata);
|
||||
$filename = 'img.png';
|
||||
$filerecord = array(
|
||||
'contextid' => context_block::instance($block->instance->id)->id,
|
||||
'contextid' => \context_block::instance($block->instance->id)->id,
|
||||
'component' => 'block_html',
|
||||
'filearea' => 'content',
|
||||
'itemid' => 0,
|
||||
@@ -207,7 +202,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check for the new block.
|
||||
$result = core_block_external::get_course_blocks($course->id, true);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
|
||||
// Expect the new block.
|
||||
$this->assertCount(1, $result['blocks']);
|
||||
@@ -255,13 +250,13 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$studentrole = $DB->get_record('role', array('shortname' => 'student'));
|
||||
$this->getDataGenerator()->enrol_user($user->id, $course->id, $studentrole->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
// Create a HTML block.
|
||||
$title = 'My block $$(a+b)=2$$';
|
||||
$body = 'My block contents $$(a+b)=2$$';
|
||||
$bodyformat = FORMAT_MOODLE;
|
||||
$page = new moodle_page();
|
||||
$page = new \moodle_page();
|
||||
$page->set_context($coursecontext);
|
||||
$page->set_pagelayout('course');
|
||||
$course->format = course_get_format($course)->get_format();
|
||||
@@ -272,7 +267,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($user);
|
||||
// Re-create the page.
|
||||
$page = new moodle_page();
|
||||
$page = new \moodle_page();
|
||||
$page->set_context($coursecontext);
|
||||
$page->set_pagelayout('course');
|
||||
$course->format = course_get_format($course)->get_format();
|
||||
@@ -297,10 +292,10 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Check for the new block.
|
||||
$result = core_block_external::get_course_blocks($course->id, true);
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_course_blocks_returns(), $result);
|
||||
|
||||
// Format the original data.
|
||||
$sitecontext = context_system::instance();
|
||||
$sitecontext = \context_system::instance();
|
||||
$title = external_format_string($title, $coursecontext->id);
|
||||
list($body, $bodyformat) = external_format_text($body, $bodyformat, $coursecontext->id, 'block_html', 'content');
|
||||
|
||||
@@ -336,7 +331,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check for the default blocks.
|
||||
$result = core_block_external::get_dashboard_blocks($user->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_dashboard_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_dashboard_blocks_returns(), $result);
|
||||
// Expect all blogs except learning plans one (no learning plans to show).
|
||||
$this->assertCount(count($alldefaultblocksordered) - 1, $result['blocks']);
|
||||
$returnedblocks = array();
|
||||
@@ -373,10 +368,10 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
$alldefaultblocks = $DB->get_records_menu('block_instances', array('pagetypepattern' => 'my-index'), '', 'id, blockname');
|
||||
|
||||
// Now, add a sticky block.
|
||||
$page = new moodle_page();
|
||||
$page->set_context(context_system::instance());
|
||||
$page = new \moodle_page();
|
||||
$page->set_context(\context_system::instance());
|
||||
$page->set_pagetype('my-index');
|
||||
$page->set_url(new moodle_url('/'));
|
||||
$page->set_url(new \moodle_url('/'));
|
||||
$page->blocks->add_region('side-pre');
|
||||
$page->blocks->load_blocks();
|
||||
$page->blocks->add_block('myprofile', 'side-pre', 0, true, '*');
|
||||
@@ -386,7 +381,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check for the default blocks plus the sticky.
|
||||
$result = core_block_external::get_dashboard_blocks($user->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_dashboard_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_dashboard_blocks_returns(), $result);
|
||||
// Expect all blogs plus sticky one except learning plans one (no learning plans to show).
|
||||
$this->assertCount(count($alldefaultblocks), $result['blocks']);
|
||||
$found = false;
|
||||
@@ -416,8 +411,8 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
$alldefaultblocks = $DB->get_records_menu('block_instances', array('pagetypepattern' => 'my-index'), '', 'id, blockname');
|
||||
|
||||
// Add a custom block.
|
||||
$page = new moodle_page();
|
||||
$page->set_context(context_user::instance($user->id));
|
||||
$page = new \moodle_page();
|
||||
$page->set_context(\context_user::instance($user->id));
|
||||
$page->set_pagelayout('mydashboard');
|
||||
$page->set_pagetype('my-index');
|
||||
$page->blocks->add_region('content');
|
||||
@@ -431,7 +426,7 @@ class core_block_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check for the new block as admin for a user.
|
||||
$result = core_block_external::get_dashboard_blocks($user->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_block_external::get_dashboard_blocks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_block_external::get_dashboard_blocks_returns(), $result);
|
||||
// Expect all default blogs plys the one we added except learning plans one (no learning plans to show).
|
||||
$this->assertCount(count($alldefaultblocks), $result['blocks']);
|
||||
$found = false;
|
||||
|
||||
@@ -74,7 +74,7 @@ class events_test extends \advanced_testcase {
|
||||
$record = new \stdClass();
|
||||
$record->courseid = 0;
|
||||
$time = time();
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('event', $this->user->id, 'user', 0, $time,
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('event', $this->user->id, 'user', 0, $time,
|
||||
$record); // User event.
|
||||
|
||||
// Capture the event.
|
||||
@@ -96,7 +96,7 @@ class events_test extends \advanced_testcase {
|
||||
// Now we create a repeated course event.
|
||||
$record = new \stdClass();
|
||||
$record->courseid = $this->course->id;
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('course', $this->user->id, 'course', 10, $time,
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('course', $this->user->id, 'course', 10, $time,
|
||||
$record);
|
||||
$events = $sink->get_events();
|
||||
$sink->close();
|
||||
@@ -177,7 +177,7 @@ class events_test extends \advanced_testcase {
|
||||
$record = new \stdClass();
|
||||
$record->courseid = 0;
|
||||
$time = time();
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('event', $this->user->id, 'user', 0, $time,
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('event', $this->user->id, 'user', 0, $time,
|
||||
$record); // User event.
|
||||
|
||||
// Catch the events.
|
||||
@@ -203,7 +203,7 @@ class events_test extends \advanced_testcase {
|
||||
// Now we create a repeated course event and update it.
|
||||
$record = new \stdClass();
|
||||
$record->courseid = $this->course->id;
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('course', $this->user->id, 'course', 10, time(),
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('course', $this->user->id, 'course', 10, time(),
|
||||
$record);
|
||||
|
||||
$sink->clear();
|
||||
@@ -234,7 +234,7 @@ class events_test extends \advanced_testcase {
|
||||
|
||||
// Create a calendar event.
|
||||
$time = time();
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('Some wickedly awesome event yo!',
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('Some wickedly awesome event yo!',
|
||||
$this->user->id, 'user', 0, $time);
|
||||
|
||||
// Updated the visibility of the calendar event.
|
||||
@@ -327,7 +327,7 @@ class events_test extends \advanced_testcase {
|
||||
$record->courseid = 0;
|
||||
$record->repeatid = 0;
|
||||
$time = time();
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('event', $this->user->id, 'user', 0, $time,
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('event', $this->user->id, 'user', 0, $time,
|
||||
$record); // User event.
|
||||
$dbrecord = $DB->get_record('event', array('id' => $calevent->id), '*', MUST_EXIST);
|
||||
|
||||
@@ -350,7 +350,7 @@ class events_test extends \advanced_testcase {
|
||||
// Now we create a repeated course event and delete it.
|
||||
$record = new \stdClass();
|
||||
$record->courseid = $this->course->id;
|
||||
$calevent = core_calendar_externallib_testcase::create_calendar_event('course', $this->user->id, 'course', 10, time(),
|
||||
$calevent = \core_calendar\externallib_test::create_calendar_event('course', $this->user->id, 'course', 10, time(),
|
||||
$record);
|
||||
|
||||
$sink->clear();
|
||||
|
||||
+210
-213
File diff suppressed because it is too large
Load Diff
@@ -14,14 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External cohort API
|
||||
*
|
||||
* @package core_cohort
|
||||
* @category external
|
||||
* @copyright MediaTouch 2000 srl
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace core_cohort;
|
||||
|
||||
use core_cohort_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -30,7 +26,15 @@ global $CFG;
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/cohort/externallib.php');
|
||||
|
||||
class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
/**
|
||||
* External cohort API
|
||||
*
|
||||
* @package core_cohort
|
||||
* @category external
|
||||
* @copyright MediaTouch 2000 srl
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test create_cohorts
|
||||
@@ -42,7 +46,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
set_config('allowcohortthemes', 1);
|
||||
|
||||
$contextid = context_system::instance()->id;
|
||||
$contextid = \context_system::instance()->id;
|
||||
$category = $this->getDataGenerator()->create_category();
|
||||
|
||||
$cohort1 = array(
|
||||
@@ -80,7 +84,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$this->setCurrentTimeStart();
|
||||
$createdcohorts = core_cohort_external::create_cohorts(array($cohort1, $cohort2));
|
||||
$createdcohorts = external_api::clean_returnvalue(core_cohort_external::create_cohorts_returns(), $createdcohorts);
|
||||
$createdcohorts = \external_api::clean_returnvalue(core_cohort_external::create_cohorts_returns(), $createdcohorts);
|
||||
|
||||
// Check we retrieve the good total number of created cohorts + no error on capability.
|
||||
$this->assertEquals(2, count($createdcohorts));
|
||||
@@ -97,7 +101,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
// As $CFG->allowcohortthemes is enabled, theme must be initialised.
|
||||
$this->assertEquals($dbcohort->theme, $cohort1['theme']);
|
||||
} else if ($createdcohort['idnumber'] == $cohort2['idnumber']) {
|
||||
$this->assertEquals($dbcohort->contextid, context_system::instance()->id);
|
||||
$this->assertEquals($dbcohort->contextid, \context_system::instance()->id);
|
||||
$this->assertEquals($dbcohort->name, $cohort2['name']);
|
||||
$this->assertEquals($dbcohort->description, $cohort2['description']);
|
||||
$this->assertEquals($dbcohort->visible, $cohort2['visible']);
|
||||
@@ -113,7 +117,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call when $CFG->allowcohortthemes is disabled.
|
||||
set_config('allowcohortthemes', 0);
|
||||
$createdcohorts = core_cohort_external::create_cohorts(array($cohort4));
|
||||
$createdcohorts = external_api::clean_returnvalue(core_cohort_external::create_cohorts_returns(), $createdcohorts);
|
||||
$createdcohorts = \external_api::clean_returnvalue(core_cohort_external::create_cohorts_returns(), $createdcohorts);
|
||||
foreach ($createdcohorts as $createdcohort) {
|
||||
$dbcohort = $DB->get_record('cohort', array('id' => $createdcohort['id']));
|
||||
if ($createdcohort['idnumber'] == $cohort4['idnumber']) {
|
||||
@@ -129,7 +133,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$this->unassignUserCapability('moodle/cohort:manage', $contextid, $roleid);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
$createdcohorts = core_cohort_external::create_cohorts(array($cohort3));
|
||||
}
|
||||
|
||||
@@ -161,7 +165,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
$cohort1 = self::getDataGenerator()->create_cohort();
|
||||
$cohort2 = self::getDataGenerator()->create_cohort();
|
||||
$this->unassignUserCapability('moodle/cohort:manage', $contextid, $roleid);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
core_cohort_external::delete_cohorts(array($cohort1->id, $cohort2->id));
|
||||
}
|
||||
|
||||
@@ -185,13 +189,13 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
$cohort1 = self::getDataGenerator()->create_cohort($cohort1);
|
||||
$cohort2 = self::getDataGenerator()->create_cohort();
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/cohort:view', $context->id);
|
||||
|
||||
// Call the external function.
|
||||
$returnedcohorts = core_cohort_external::get_cohorts(array(
|
||||
$cohort1->id, $cohort2->id));
|
||||
$returnedcohorts = external_api::clean_returnvalue(core_cohort_external::get_cohorts_returns(), $returnedcohorts);
|
||||
$returnedcohorts = \external_api::clean_returnvalue(core_cohort_external::get_cohorts_returns(), $returnedcohorts);
|
||||
|
||||
// Check we retrieve the good total number of enrolled cohorts + no error on capability.
|
||||
$this->assertEquals(2, count($returnedcohorts));
|
||||
@@ -211,7 +215,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$returnedcohorts = core_cohort_external::get_cohorts(array(
|
||||
$cohort1->id, $cohort2->id));
|
||||
$returnedcohorts = external_api::clean_returnvalue(core_cohort_external::get_cohorts_returns(), $returnedcohorts);
|
||||
$returnedcohorts = \external_api::clean_returnvalue(core_cohort_external::get_cohorts_returns(), $returnedcohorts);
|
||||
|
||||
// Check we retrieve the good total number of enrolled cohorts + no error on capability.
|
||||
$this->assertEquals(2, count($returnedcohorts));
|
||||
@@ -220,7 +224,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
set_config('allowcohortthemes', 0);
|
||||
$returnedcohorts = core_cohort_external::get_cohorts(array(
|
||||
$cohort1->id));
|
||||
$returnedcohorts = external_api::clean_returnvalue(core_cohort_external::get_cohorts_returns(), $returnedcohorts);
|
||||
$returnedcohorts = \external_api::clean_returnvalue(core_cohort_external::get_cohorts_returns(), $returnedcohorts);
|
||||
foreach ($returnedcohorts as $enrolledcohort) {
|
||||
if ($enrolledcohort['idnumber'] == $cohort1->idnumber) {
|
||||
$this->assertNull($enrolledcohort['theme']);
|
||||
@@ -249,7 +253,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
'theme' => 'classic'
|
||||
);
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/cohort:manage', $context->id);
|
||||
|
||||
// Call the external function.
|
||||
@@ -287,7 +291,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$this->unassignUserCapability('moodle/cohort:manage', $context->id, $roleid);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
core_cohort_external::update_cohorts(array($cohort1));
|
||||
}
|
||||
|
||||
@@ -308,7 +312,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
core_cohort_external::update_cohorts(array($cohort1));
|
||||
$this->fail('Expecting invalid_parameter_exception exception, none occured');
|
||||
} catch (invalid_parameter_exception $e1) {
|
||||
} catch (\invalid_parameter_exception $e1) {
|
||||
$this->assertStringContainsString('Invalid external api parameter: the value is "THIS IS NOT AN ID"', $e1->debuginfo);
|
||||
}
|
||||
|
||||
@@ -316,7 +320,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
core_cohort_external::update_cohorts(array($cohort1));
|
||||
$this->fail('Expecting invalid_parameter_exception exception, none occured');
|
||||
} catch (invalid_parameter_exception $e2) {
|
||||
} catch (\invalid_parameter_exception $e2) {
|
||||
$this->assertStringContainsString('Invalid external api parameter: the value is "9.999"', $e2->debuginfo);
|
||||
}
|
||||
}
|
||||
@@ -335,8 +339,8 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
$category2 = self::getDataGenerator()->create_category(array(
|
||||
'name' => 'Test category 2'
|
||||
));
|
||||
$context1 = context_coursecat::instance($category1->id);
|
||||
$context2 = context_coursecat::instance($category2->id);
|
||||
$context1 = \context_coursecat::instance($category1->id);
|
||||
$context2 = \context_coursecat::instance($category2->id);
|
||||
|
||||
$cohort = array(
|
||||
'contextid' => $context1->id,
|
||||
@@ -358,7 +362,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function.
|
||||
// Should fail because we don't have permission on the dest category
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
core_cohort_external::update_cohorts(array($cohortupdate));
|
||||
}
|
||||
|
||||
@@ -376,8 +380,8 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
$category2 = self::getDataGenerator()->create_category(array(
|
||||
'name' => 'Test category 2'
|
||||
));
|
||||
$context1 = context_coursecat::instance($category1->id);
|
||||
$context2 = context_coursecat::instance($category2->id);
|
||||
$context1 = \context_coursecat::instance($category1->id);
|
||||
$context2 = \context_coursecat::instance($category2->id);
|
||||
|
||||
$cohort = array(
|
||||
'contextid' => $context1->id,
|
||||
@@ -399,7 +403,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function.
|
||||
// Should fail because we don't have permission on the src category
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
core_cohort_external::update_cohorts(array($cohortupdate));
|
||||
}
|
||||
|
||||
@@ -411,7 +415,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true); // Reset all changes automatically after this test.
|
||||
|
||||
$contextid = context_system::instance()->id;
|
||||
$contextid = \context_system::instance()->id;
|
||||
|
||||
$cohort = array(
|
||||
'contextid' => $contextid,
|
||||
@@ -433,7 +437,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function.
|
||||
$addcohortmembers = core_cohort_external::add_cohort_members(array($cohort1));
|
||||
$addcohortmembers = external_api::clean_returnvalue(core_cohort_external::add_cohort_members_returns(), $addcohortmembers);
|
||||
$addcohortmembers = \external_api::clean_returnvalue(core_cohort_external::add_cohort_members_returns(), $addcohortmembers);
|
||||
|
||||
// Check we retrieve the good total number of created cohorts + no error on capability.
|
||||
$this->assertEquals(1, count($addcohortmembers));
|
||||
@@ -450,7 +454,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
'usertype' => array('type' => 'id', 'value' => '2')
|
||||
);
|
||||
$this->unassignUserCapability('moodle/cohort:assign', $contextid, $roleid);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
$addcohortmembers = core_cohort_external::add_cohort_members(array($cohort2));
|
||||
}
|
||||
|
||||
@@ -467,7 +471,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
$cohort2 = self::getDataGenerator()->create_cohort();
|
||||
$user2 = self::getDataGenerator()->create_user();
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/cohort:assign', $context->id);
|
||||
|
||||
$cohortaddmember1 = array(
|
||||
@@ -475,14 +479,14 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
'usertype' => array('type' => 'id', 'value' => $user1->id)
|
||||
);
|
||||
$cohortmembers1 = core_cohort_external::add_cohort_members(array($cohortaddmember1));
|
||||
$cohortmembers1 = external_api::clean_returnvalue(core_cohort_external::add_cohort_members_returns(), $cohortmembers1);
|
||||
$cohortmembers1 = \external_api::clean_returnvalue(core_cohort_external::add_cohort_members_returns(), $cohortmembers1);
|
||||
|
||||
$cohortaddmember2 = array(
|
||||
'cohorttype' => array('type' => 'id', 'value' => $cohort2->id),
|
||||
'usertype' => array('type' => 'id', 'value' => $user2->id)
|
||||
);
|
||||
$cohortmembers2 = core_cohort_external::add_cohort_members(array($cohortaddmember2));
|
||||
$cohortmembers2 = external_api::clean_returnvalue(core_cohort_external::add_cohort_members_returns(), $cohortmembers2);
|
||||
$cohortmembers2 = \external_api::clean_returnvalue(core_cohort_external::add_cohort_members_returns(), $cohortmembers2);
|
||||
|
||||
// Check we retrieve no cohorts + no error on capability.
|
||||
$this->assertEquals(2, $DB->count_records_select('cohort_members', ' ((cohortid = :idcohort1 AND userid = :iduser1)
|
||||
@@ -507,7 +511,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$this->unassignUserCapability('moodle/cohort:assign', $context->id, $roleid);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
core_cohort_external::delete_cohort_members(array($cohortdel1, $cohortdel2));
|
||||
}
|
||||
|
||||
@@ -526,9 +530,9 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
$category = $this->getDataGenerator()->create_category();
|
||||
$othercategory = $this->getDataGenerator()->create_category();
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$syscontext = context_system::instance();
|
||||
$catcontext = context_coursecat::instance($category->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$syscontext = \context_system::instance();
|
||||
$catcontext = \context_coursecat::instance($category->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
// Fetching default authenticated user role.
|
||||
$authrole = $DB->get_record('role', array('id' => $CFG->defaultuserroleid));
|
||||
@@ -553,10 +557,10 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Enrol user in the course.
|
||||
$this->getDataGenerator()->enrol_user($courseuser->id, $course->id, 'courserole');
|
||||
|
||||
$syscontext = array('contextid' => context_system::instance()->id);
|
||||
$catcontext = array('contextid' => context_coursecat::instance($category->id)->id);
|
||||
$othercatcontext = array('contextid' => context_coursecat::instance($othercategory->id)->id);
|
||||
$coursecontext = array('contextid' => context_course::instance($course->id)->id);
|
||||
$syscontext = array('contextid' => \context_system::instance()->id);
|
||||
$catcontext = array('contextid' => \context_coursecat::instance($category->id)->id);
|
||||
$othercatcontext = array('contextid' => \context_coursecat::instance($othercategory->id)->id);
|
||||
$coursecontext = array('contextid' => \context_course::instance($course->id)->id);
|
||||
|
||||
$cohort1 = $this->getDataGenerator()->create_cohort(array_merge($syscontext, array('name' => 'Cohortsearch 1')));
|
||||
$cohort2 = $this->getDataGenerator()->create_cohort(array_merge($catcontext, array('name' => 'Cohortsearch 2')));
|
||||
@@ -567,7 +571,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$result = core_cohort_external::search_cohorts("Cohortsearch", $syscontext, 'parents');
|
||||
$this->fail('Invalid permissions in system');
|
||||
} catch (required_capability_exception $e) {
|
||||
} catch (\required_capability_exception $e) {
|
||||
// All good.
|
||||
}
|
||||
|
||||
@@ -576,7 +580,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$result = core_cohort_external::search_cohorts("Cohortsearch", $catcontext, 'parents');
|
||||
$this->fail('Invalid permissions in category');
|
||||
} catch (required_capability_exception $e) {
|
||||
} catch (\required_capability_exception $e) {
|
||||
// All good.
|
||||
}
|
||||
|
||||
@@ -618,7 +622,7 @@ class core_cohort_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$result = core_cohort_external::search_cohorts("Cohortsearch", $syscontext, 'invalid');
|
||||
$this->fail('Invalid parameter includes');
|
||||
} catch (coding_exception $e) {
|
||||
} catch (\coding_exception $e) {
|
||||
// All good.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,15 +14,11 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External comment functions unit tests
|
||||
*
|
||||
* @package core_comment
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.9
|
||||
*/
|
||||
namespace core_comment;
|
||||
|
||||
use comment_exception;
|
||||
use core_comment_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +35,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.9
|
||||
*/
|
||||
class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Tests set up
|
||||
@@ -71,7 +67,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($teacher1->id, $course1->id, $teacherrole->id);
|
||||
|
||||
// Create a database module instance.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course1->id;
|
||||
$record->name = "Mod data test";
|
||||
$record->intro = "Some intro of some sort";
|
||||
@@ -80,7 +76,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
$module1 = $this->getDataGenerator()->create_module('data', $record);
|
||||
$field = data_get_field_new('text', $module1);
|
||||
|
||||
$fielddetail = new stdClass();
|
||||
$fielddetail = new \stdClass();
|
||||
$fielddetail->name = 'Name';
|
||||
$fielddetail->description = 'Some name';
|
||||
|
||||
@@ -125,7 +121,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
]
|
||||
];
|
||||
$result = core_comment_external::add_comments($inputdata);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$ids = array_column($result, 'id');
|
||||
|
||||
// Verify we can get the comments.
|
||||
@@ -136,7 +132,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
$area = 'database_entry';
|
||||
$page = 0;
|
||||
$result = core_comment_external::get_comments($contextlevel, $instanceid, $component, $itemid, $area, $page);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::get_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::get_comments_returns(), $result);
|
||||
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(2, $result['comments']);
|
||||
@@ -153,7 +149,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Test sort direction and pagination.
|
||||
$CFG->commentsperpage = 1;
|
||||
$result = core_comment_external::get_comments($contextlevel, $instanceid, $component, $itemid, $area, $page, 'ASC');
|
||||
$result = external_api::clean_returnvalue(core_comment_external::get_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::get_comments_returns(), $result);
|
||||
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['comments']); // Only one per page.
|
||||
@@ -163,7 +159,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Next page.
|
||||
$result = core_comment_external::get_comments($contextlevel, $instanceid, $component, $itemid, $area, $page + 1, 'ASC');
|
||||
$result = external_api::clean_returnvalue(core_comment_external::get_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::get_comments_returns(), $result);
|
||||
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['comments']);
|
||||
@@ -239,7 +235,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
'area' => 'database_entry'
|
||||
]
|
||||
]);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
|
||||
// Verify the result contains 1 result having the correct structure.
|
||||
$this->assertCount(1, $result);
|
||||
@@ -322,7 +318,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
]
|
||||
];
|
||||
$result = core_comment_external::add_comments($inputdata);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
|
||||
// Two comments should have been created.
|
||||
$this->assertCount(2, $result);
|
||||
@@ -394,14 +390,14 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
'area' => 'database_entry'
|
||||
]
|
||||
]);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
|
||||
// Delete those comments we just created.
|
||||
$result = core_comment_external::delete_comments([
|
||||
$result[0]['id'],
|
||||
$result[1]['id']
|
||||
]);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::delete_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::delete_comments_returns(), $result);
|
||||
$this->assertEquals([], $result);
|
||||
}
|
||||
|
||||
@@ -423,7 +419,7 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
'area' => 'database_entry'
|
||||
]
|
||||
]);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
|
||||
// Now, as student 2, try to delete the comment made by student 1. Verify we can't.
|
||||
$this->setUser($student2);
|
||||
@@ -449,12 +445,12 @@ class core_comment_externallib_testcase extends externallib_advanced_testcase {
|
||||
'area' => 'database_entry'
|
||||
]
|
||||
]);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::add_comments_returns(), $result);
|
||||
|
||||
// Verify teachers can delete the comment.
|
||||
$this->setUser($teacher1);
|
||||
$result = core_comment_external::delete_comments([$result[0]['id']]);
|
||||
$result = external_api::clean_returnvalue(core_comment_external::delete_comments_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_comment_external::delete_comments_returns(), $result);
|
||||
$this->assertEquals([], $result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,30 +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/>.
|
||||
|
||||
/**
|
||||
* Tool LP data generator tests.
|
||||
*
|
||||
* @package core_competency
|
||||
* @category test
|
||||
* @copyright 2015 Frédéric Massart - FMCorz.net
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
use core_competency\competency;
|
||||
use core_competency\competency_framework;
|
||||
use core_competency\course_competency;
|
||||
use core_competency\course_module_competency;
|
||||
use core_competency\plan;
|
||||
use core_competency\related_competency;
|
||||
use core_competency\template;
|
||||
use core_competency\template_cohort;
|
||||
use core_competency\template_competency;
|
||||
use core_competency\user_competency;
|
||||
use core_competency\user_competency_plan;
|
||||
use core_competency\plan_competency;
|
||||
use core_competency\evidence;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace core_competency;
|
||||
|
||||
/**
|
||||
* Tool LP data generator testcase.
|
||||
@@ -47,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2015 Frédéric Massart - FMCorz.net
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_competency_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_framework() {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External completion functions unit tests
|
||||
*
|
||||
* @package core_completion
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.9
|
||||
*/
|
||||
namespace core_completion;
|
||||
|
||||
use core_completion_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.9
|
||||
*/
|
||||
class core_completion_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test update_activity_completion_status_manually
|
||||
@@ -63,7 +58,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
$result = core_completion_external::update_activity_completion_status_manually($data->cmid, true);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::update_activity_completion_status_manually_returns(), $result);
|
||||
|
||||
// Check in DB.
|
||||
@@ -71,14 +66,14 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
array('coursemoduleid' => $data->cmid)));
|
||||
|
||||
// Check using the API.
|
||||
$completion = new completion_info($course);
|
||||
$completion = new \completion_info($course);
|
||||
$completiondata = $completion->get_data($cm);
|
||||
$this->assertEquals(1, $completiondata->completionstate);
|
||||
$this->assertTrue($result['status']);
|
||||
|
||||
$result = core_completion_external::update_activity_completion_status_manually($data->cmid, false);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::update_activity_completion_status_manually_returns(), $result);
|
||||
|
||||
$this->assertEquals(0, $DB->get_field('course_modules_completion', 'completionstate',
|
||||
@@ -103,7 +98,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
$course = $this->getDataGenerator()->create_course(array('enablecompletion' => 1,
|
||||
'groupmode' => SEPARATEGROUPS,
|
||||
'groupmodeforce' => 1));
|
||||
availability_completion\condition::wipe_static_cache();
|
||||
\availability_completion\condition::wipe_static_cache();
|
||||
|
||||
$data = $this->getDataGenerator()->create_module('data',
|
||||
['course' => $course->id],
|
||||
@@ -143,12 +138,12 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
$this->setUser($student);
|
||||
// Forum complete.
|
||||
$completion = new completion_info($course);
|
||||
$completion = new \completion_info($course);
|
||||
$completion->update_state($cmforum, COMPLETION_COMPLETE);
|
||||
|
||||
$result = core_completion_external::get_activities_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_activities_completion_status_returns(), $result);
|
||||
|
||||
// We added 5 activities, but only 4 with completion enabled and one of those is hidden.
|
||||
@@ -206,7 +201,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
$this->setUser($teacher);
|
||||
$result = core_completion_external::get_activities_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_activities_completion_status_returns(), $result);
|
||||
|
||||
$this->assertCount($numberofcompletions, $result['statuses']);
|
||||
@@ -216,7 +211,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
$result = core_completion_external::get_activities_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_activities_completion_status_returns(), $result);
|
||||
|
||||
// Check forum has been overriden by the teacher.
|
||||
@@ -232,12 +227,12 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
// Teacher should see his own completion status.
|
||||
|
||||
// Forum complete for teacher.
|
||||
$completion = new completion_info($course);
|
||||
$completion = new \completion_info($course);
|
||||
$completion->update_state($cmforum, COMPLETION_COMPLETE);
|
||||
|
||||
$result = core_completion_external::get_activities_completion_status($course->id, $teacher->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_activities_completion_status_returns(), $result);
|
||||
|
||||
$this->assertCount($numberofcompletions, $result['statuses']);
|
||||
@@ -261,14 +256,14 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
$this->assertEquals(4, $activitiesfound);
|
||||
|
||||
// Change teacher role capabilities (disable access all groups).
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
assign_capability('moodle/site:accessallgroups', CAP_PROHIBIT, $teacherrole->id, $context);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
try {
|
||||
$result = core_completion_external::get_activities_completion_status($course->id, $student->id);
|
||||
$this->fail('Exception expected due to groups permissions.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('accessdenied', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -276,7 +271,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
groups_add_member($group1->id, $teacher->id);
|
||||
$result = core_completion_external::get_activities_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_activities_completion_status_returns(), $result);
|
||||
$this->assertCount($numberofcompletions, $result['statuses']);
|
||||
}
|
||||
@@ -307,34 +302,34 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
// Manually complete the data activity as the student.
|
||||
$this->setUser($student);
|
||||
$completion = new completion_info($course);
|
||||
$completion = new \completion_info($course);
|
||||
$completion->update_state($cmdata, COMPLETION_COMPLETE);
|
||||
|
||||
// Test overriding the status of the manual-completion-activity 'incomplete'.
|
||||
$this->setUser($teacher);
|
||||
$result = core_completion_external::override_activity_completion_status($student->id, $data->cmid, COMPLETION_INCOMPLETE);
|
||||
$result = external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$this->assertEquals($result['state'], COMPLETION_INCOMPLETE);
|
||||
$completiondata = $completion->get_data($cmdata, false, $student->id);
|
||||
$this->assertEquals(COMPLETION_INCOMPLETE, $completiondata->completionstate);
|
||||
|
||||
// Test overriding the status of the manual-completion-activity back to 'complete'.
|
||||
$result = core_completion_external::override_activity_completion_status($student->id, $data->cmid, COMPLETION_COMPLETE);
|
||||
$result = external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$this->assertEquals($result['state'], COMPLETION_COMPLETE);
|
||||
$completiondata = $completion->get_data($cmdata, false, $student->id);
|
||||
$this->assertEquals(COMPLETION_COMPLETE, $completiondata->completionstate);
|
||||
|
||||
// Test overriding the status of the auto-completion-activity to 'complete'.
|
||||
$result = core_completion_external::override_activity_completion_status($student->id, $forum->cmid, COMPLETION_COMPLETE);
|
||||
$result = external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$this->assertEquals($result['state'], COMPLETION_COMPLETE);
|
||||
$completionforum = $completion->get_data($cmforum, false, $student->id);
|
||||
$this->assertEquals(COMPLETION_COMPLETE, $completionforum->completionstate);
|
||||
|
||||
// Test overriding the status of the auto-completion-activity to 'incomplete'.
|
||||
$result = core_completion_external::override_activity_completion_status($student->id, $forum->cmid, COMPLETION_INCOMPLETE);
|
||||
$result = external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_completion_external::override_activity_completion_status_returns(), $result);
|
||||
$this->assertEquals($result['state'], COMPLETION_INCOMPLETE);
|
||||
$completionforum = $completion->get_data($cmforum, false, $student->id);
|
||||
$this->assertEquals(COMPLETION_INCOMPLETE, $completionforum->completionstate);
|
||||
@@ -360,7 +355,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course->id, $studentrole->id);
|
||||
$teacherrole = $DB->get_record('role', ['shortname' => 'teacher']);
|
||||
$this->getDataGenerator()->enrol_user($teacher->id, $course->id, $teacherrole->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
// Create an activity with automatic completion (a forum).
|
||||
$forum = $this->getDataGenerator()->create_module('forum', ['course' => $course->id],
|
||||
@@ -418,11 +413,11 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
groups_add_member($group2->id, $teacher->id);
|
||||
|
||||
// Set completion rules.
|
||||
$completion = new completion_info($course);
|
||||
$completion = new \completion_info($course);
|
||||
|
||||
// Loop through each criteria type and run its update_config() method.
|
||||
|
||||
$criteriadata = new stdClass();
|
||||
$criteriadata = new \stdClass();
|
||||
$criteriadata->id = $course->id;
|
||||
$criteriadata->criteria_activity = array();
|
||||
// Some activities.
|
||||
@@ -446,12 +441,12 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
'course' => $course->id,
|
||||
'criteriatype' => null
|
||||
);
|
||||
$aggregation = new completion_aggregation($aggdata);
|
||||
$aggregation = new \completion_aggregation($aggdata);
|
||||
$aggregation->setMethod(COMPLETION_AGGREGATION_ALL);
|
||||
$aggregation->save();
|
||||
|
||||
$aggdata['criteriatype'] = COMPLETION_CRITERIA_TYPE_ACTIVITY;
|
||||
$aggregation = new completion_aggregation($aggdata);
|
||||
$aggregation = new \completion_aggregation($aggdata);
|
||||
$aggregation->setMethod(COMPLETION_AGGREGATION_ALL);
|
||||
$aggregation->save();
|
||||
|
||||
@@ -459,7 +454,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
$result = core_completion_external::get_course_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$studentresult = external_api::clean_returnvalue(
|
||||
$studentresult = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_course_completion_status_returns(), $result);
|
||||
|
||||
// 3 different criteria.
|
||||
@@ -476,20 +471,20 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
$this->setUser($teacher);
|
||||
$result = core_completion_external::get_course_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$teacherresult = external_api::clean_returnvalue(
|
||||
$teacherresult = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_course_completion_status_returns(), $result);
|
||||
|
||||
$this->assertEquals($studentresult, $teacherresult);
|
||||
|
||||
// Change teacher role capabilities (disable access al goups).
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
assign_capability('moodle/site:accessallgroups', CAP_PROHIBIT, $teacherrole->id, $context);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
try {
|
||||
$result = core_completion_external::get_course_completion_status($course->id, $student->id);
|
||||
$this->fail('Exception expected due to groups permissions.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('accessdenied', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -497,7 +492,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
groups_add_member($group1->id, $teacher->id);
|
||||
$result = core_completion_external::get_course_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$teacherresult = external_api::clean_returnvalue(
|
||||
$teacherresult = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_course_completion_status_returns(), $result);
|
||||
|
||||
$this->assertEquals($studentresult, $teacherresult);
|
||||
@@ -523,9 +518,9 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course->id, $studentrole->id);
|
||||
|
||||
// Set completion rules.
|
||||
$completion = new completion_info($course);
|
||||
$completion = new \completion_info($course);
|
||||
|
||||
$criteriadata = new stdClass();
|
||||
$criteriadata = new \stdClass();
|
||||
$criteriadata->id = $course->id;
|
||||
$criteriadata->criteria_activity = array();
|
||||
|
||||
@@ -540,7 +535,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
'course' => $course->id,
|
||||
'criteriatype' => null
|
||||
);
|
||||
$aggregation = new completion_aggregation($aggdata);
|
||||
$aggregation = new \completion_aggregation($aggdata);
|
||||
$aggregation->setMethod(COMPLETION_AGGREGATION_ALL);
|
||||
$aggregation->save();
|
||||
|
||||
@@ -548,7 +543,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
$result = core_completion_external::mark_course_self_completed($course->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::mark_course_self_completed_returns(), $result);
|
||||
|
||||
// We expect a valid result.
|
||||
@@ -556,7 +551,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
$result = core_completion_external::get_course_completion_status($course->id, $student->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_completion_external::get_course_completion_status_returns(), $result);
|
||||
|
||||
// Course must be completed.
|
||||
@@ -565,7 +560,7 @@ class core_completion_externallib_testcase extends externallib_advanced_testcase
|
||||
try {
|
||||
$result = core_completion_external::mark_course_self_completed($course->id);
|
||||
$this->fail('Exception expected due course already self completed.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('useralreadymarkedcomplete', $e->errorcode);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,16 +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/>.
|
||||
|
||||
/**
|
||||
* core_customfield test data generator test.
|
||||
*
|
||||
* @package core_customfield
|
||||
* @category test
|
||||
* @copyright 2018 Ruslan Kabalin
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace core_customfield;
|
||||
|
||||
/**
|
||||
* core_customfield test data generator testcase.
|
||||
@@ -33,13 +24,13 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2018 Ruslan Kabalin
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_customfield_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Get generator
|
||||
* @return core_customfield_generator
|
||||
*/
|
||||
protected function get_generator(): core_customfield_generator {
|
||||
protected function get_generator(): \core_customfield_generator {
|
||||
return $this->getDataGenerator()->get_plugin_generator('core_customfield');
|
||||
}
|
||||
|
||||
@@ -69,7 +60,7 @@ class core_customfield_generator_testcase extends advanced_testcase {
|
||||
$this->assertInstanceOf('\core_customfield\field_controller', $field);
|
||||
$this->assertTrue(\core_customfield\field::record_exists($field->get('id')));
|
||||
|
||||
$category = core_customfield\category_controller::create($category->get('id'));
|
||||
$category = \core_customfield\category_controller::create($category->get('id'));
|
||||
$category = \core_customfield\api::get_categories_with_fields($category->get('component'),
|
||||
$category->get('area'), $category->get('itemid'))[$category->get('id')];
|
||||
$this->assertCount(1, $category->get_fields());
|
||||
|
||||
@@ -14,6 +14,18 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
namespace enrol_manual;
|
||||
|
||||
use enrol_manual_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/enrol/manual/externallib.php');
|
||||
|
||||
/**
|
||||
* Enrol manual external PHPunit tests
|
||||
*
|
||||
@@ -23,15 +35,7 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.4
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/enrol/manual/externallib.php');
|
||||
|
||||
class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test get_enrolled_users
|
||||
@@ -49,8 +53,8 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
$user1 = self::getDataGenerator()->create_user();
|
||||
$user2 = self::getDataGenerator()->create_user();
|
||||
|
||||
$context1 = context_course::instance($course1->id);
|
||||
$context2 = context_course::instance($course2->id);
|
||||
$context1 = \context_course::instance($course1->id);
|
||||
$context2 = \context_course::instance($course2->id);
|
||||
$instance1 = $DB->get_record('enrol', array('courseid' => $course1->id, 'enrol' => 'manual'), '*', MUST_EXIST);
|
||||
$instance2 = $DB->get_record('enrol', array('courseid' => $course2->id, 'enrol' => 'manual'), '*', MUST_EXIST);
|
||||
|
||||
@@ -83,7 +87,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('roleid' => 3, 'userid' => $user1->id, 'courseid' => $course1->id),
|
||||
));
|
||||
$this->fail('Exception expected if not having capability to enrol');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('required_capability_exception', $e);
|
||||
$this->assertSame('nopermissions', $e->errorcode);
|
||||
}
|
||||
@@ -96,7 +100,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('roleid' => 1, 'userid' => $user1->id, 'courseid' => $course1->id),
|
||||
));
|
||||
$this->fail('Exception expected if not allowed to assign role.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertSame('wsusercannotassign', $e->errorcode);
|
||||
}
|
||||
$this->assertEquals(0, $DB->count_records('user_enrolments'));
|
||||
@@ -110,7 +114,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('roleid' => 3, 'userid' => $user1->id, 'courseid' => $course2->id),
|
||||
));
|
||||
$this->fail('Exception expected if course does not have manual instance');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertSame('wsnoinstance', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -131,7 +135,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
$enrol = enrol_get_plugin('manual');
|
||||
// Create a course.
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$enrolinstance = $DB->get_record('enrol', array('courseid' => $course->id, 'enrol' => 'manual'), '*', MUST_EXIST);
|
||||
// Set the capability for the user.
|
||||
$roleid = $this->assignUserCapability('enrol/manual:enrol', $coursecontext);
|
||||
@@ -164,7 +168,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($user); // Log this user in.
|
||||
// Create a course.
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$enrolinstance = $DB->get_record('enrol', array('courseid' => $course->id, 'enrol' => 'manual'), '*', MUST_EXIST);
|
||||
// Set the capability for the user.
|
||||
$roleid = $this->assignUserCapability('enrol/manual:enrol', $coursecontext);
|
||||
@@ -203,7 +207,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($user); // Log this user in.
|
||||
// Create a course.
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$enrolinstance = $DB->get_record('enrol', array('courseid' => $course->id, 'enrol' => 'manual'), '*', MUST_EXIST);
|
||||
$enrol = enrol_get_plugin('manual');
|
||||
// Create a student and enrol them into the course.
|
||||
@@ -216,8 +220,8 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('userid' => $student->id, 'courseid' => $course->id),
|
||||
));
|
||||
$this->fail('Exception expected: User cannot log in to the course');
|
||||
} catch (Exception $ex) {
|
||||
$this->assertTrue($ex instanceof require_login_exception);
|
||||
} catch (\Exception $ex) {
|
||||
$this->assertTrue($ex instanceof \require_login_exception);
|
||||
}
|
||||
// Set the capability for the course, then try again.
|
||||
$roleid = $this->assignUserCapability('moodle/course:view', $coursecontext);
|
||||
@@ -226,8 +230,8 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('userid' => $student->id, 'courseid' => $course->id),
|
||||
));
|
||||
$this->fail('Exception expected: User cannot log in to the course');
|
||||
} catch (Exception $ex) {
|
||||
$this->assertTrue($ex instanceof required_capability_exception);
|
||||
} catch (\Exception $ex) {
|
||||
$this->assertTrue($ex instanceof \required_capability_exception);
|
||||
}
|
||||
// Assign unenrol capability.
|
||||
$this->assignUserCapability('enrol/manual:unenrol', $coursecontext, $roleid);
|
||||
@@ -251,7 +255,7 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
$enrol = enrol_get_plugin('manual');
|
||||
// Create a course.
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$enrolinstance = $DB->get_record('enrol', array('courseid' => $course->id, 'enrol' => 'manual'), '*', MUST_EXIST);
|
||||
// Set the capability for the user.
|
||||
$roleid = $this->assignUserCapability('enrol/manual:enrol', $coursecontext);
|
||||
@@ -267,8 +271,8 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('userid' => $student->id + 1, 'courseid' => $course->id),
|
||||
));
|
||||
$this->fail('Exception expected: invalid student id');
|
||||
} catch (Exception $ex) {
|
||||
$this->assertTrue($ex instanceof invalid_parameter_exception);
|
||||
} catch (\Exception $ex) {
|
||||
$this->assertTrue($ex instanceof \invalid_parameter_exception);
|
||||
}
|
||||
$DB->delete_records('enrol', array('id' => $enrolinstance->id));
|
||||
try {
|
||||
@@ -276,8 +280,8 @@ class enrol_manual_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('userid' => $student->id + 1, 'courseid' => $course->id),
|
||||
));
|
||||
$this->fail('Exception expected: invalid student id');
|
||||
} catch (Exception $ex) {
|
||||
$this->assertTrue($ex instanceof moodle_exception);
|
||||
} catch (\Exception $ex) {
|
||||
$this->assertTrue($ex instanceof \moodle_exception);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Self enrol external PHPunit tests
|
||||
*
|
||||
* @package enrol_self
|
||||
* @copyright 2013 Rajesh Taneja <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.6
|
||||
*/
|
||||
namespace enrol_self;
|
||||
|
||||
use enrol_self_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -30,7 +26,15 @@ global $CFG;
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/enrol/self/externallib.php');
|
||||
|
||||
class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
/**
|
||||
* Self enrol external PHPunit tests
|
||||
*
|
||||
* @package enrol_self
|
||||
* @copyright 2013 Rajesh Taneja <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.6
|
||||
*/
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test get_instance_info
|
||||
@@ -47,7 +51,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
$studentrole = $DB->get_record('role', array('shortname'=>'student'));
|
||||
$this->assertNotEmpty($studentrole);
|
||||
|
||||
$coursedata = new stdClass();
|
||||
$coursedata = new \stdClass();
|
||||
$coursedata->visible = 0;
|
||||
$course = self::getDataGenerator()->create_course($coursedata);
|
||||
|
||||
@@ -72,7 +76,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setAdminUser();
|
||||
$instanceinfo1 = enrol_self_external::get_instance_info($instanceid1);
|
||||
$instanceinfo1 = external_api::clean_returnvalue(enrol_self_external::get_instance_info_returns(), $instanceinfo1);
|
||||
$instanceinfo1 = \external_api::clean_returnvalue(enrol_self_external::get_instance_info_returns(), $instanceinfo1);
|
||||
|
||||
$this->assertEquals($instanceid1, $instanceinfo1['id']);
|
||||
$this->assertEquals($course->id, $instanceinfo1['courseid']);
|
||||
@@ -82,7 +86,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
$this->assertFalse(isset($instanceinfo1['enrolpassword']));
|
||||
|
||||
$instanceinfo2 = enrol_self_external::get_instance_info($instanceid2);
|
||||
$instanceinfo2 = external_api::clean_returnvalue(enrol_self_external::get_instance_info_returns(), $instanceinfo2);
|
||||
$instanceinfo2 = \external_api::clean_returnvalue(enrol_self_external::get_instance_info_returns(), $instanceinfo2);
|
||||
$this->assertEquals($instanceid2, $instanceinfo2['id']);
|
||||
$this->assertEquals($course->id, $instanceinfo2['courseid']);
|
||||
$this->assertEquals('self', $instanceinfo2['type']);
|
||||
@@ -91,7 +95,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
$this->assertFalse(isset($instanceinfo2['enrolpassword']));
|
||||
|
||||
$instanceinfo3 = enrol_self_external::get_instance_info($instanceid3);
|
||||
$instanceinfo3 = external_api::clean_returnvalue(enrol_self_external::get_instance_info_returns(), $instanceinfo3);
|
||||
$instanceinfo3 = \external_api::clean_returnvalue(enrol_self_external::get_instance_info_returns(), $instanceinfo3);
|
||||
$this->assertEquals($instanceid3, $instanceinfo3['id']);
|
||||
$this->assertEquals($course->id, $instanceinfo3['courseid']);
|
||||
$this->assertEquals('self', $instanceinfo3['type']);
|
||||
@@ -104,7 +108,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($user);
|
||||
try {
|
||||
enrol_self_external::get_instance_info($instanceid3);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('coursehidden', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -127,8 +131,8 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
$user3 = self::getDataGenerator()->create_user();
|
||||
$user4 = self::getDataGenerator()->create_user();
|
||||
|
||||
$context1 = context_course::instance($course1->id);
|
||||
$context2 = context_course::instance($course2->id);
|
||||
$context1 = \context_course::instance($course1->id);
|
||||
$context2 = \context_course::instance($course2->id);
|
||||
|
||||
$selfplugin = enrol_get_plugin('self');
|
||||
$studentrole = $DB->get_record('role', array('shortname' => 'student'));
|
||||
@@ -147,7 +151,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Self enrol me.
|
||||
$result = enrol_self_external::enrol_user($course1->id);
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
|
||||
self::assertTrue($result['status']);
|
||||
self::assertEquals(1, $DB->count_records('user_enrolments', array('enrolid' => $instance1->id)));
|
||||
@@ -160,7 +164,7 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
// Try instance not enabled.
|
||||
try {
|
||||
enrol_self_external::enrol_user($course2->id);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
self::assertEquals('canntenrol', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -169,14 +173,14 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Try not passing a key.
|
||||
$result = enrol_self_external::enrol_user($course2->id);
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertFalse($result['status']);
|
||||
self::assertCount(1, $result['warnings']);
|
||||
self::assertEquals('4', $result['warnings'][0]['warningcode']);
|
||||
|
||||
// Try passing an invalid key.
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'invalidkey');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertFalse($result['status']);
|
||||
self::assertCount(1, $result['warnings']);
|
||||
self::assertEquals('4', $result['warnings'][0]['warningcode']);
|
||||
@@ -184,14 +188,14 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
// Try passing an invalid key with hint.
|
||||
$selfplugin->set_config('showhint', true);
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'invalidkey');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertFalse($result['status']);
|
||||
self::assertCount(1, $result['warnings']);
|
||||
self::assertEquals('3', $result['warnings'][0]['warningcode']);
|
||||
|
||||
// Everything correct, now.
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'abcdef');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
|
||||
self::assertTrue($result['status']);
|
||||
self::assertEquals(1, $DB->count_records('user_enrolments', array('enrolid' => $instance2->id)));
|
||||
@@ -208,14 +212,14 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
self::setUser($user2);
|
||||
// Try passing and invalid key for group.
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'invalidkey');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertFalse($result['status']);
|
||||
self::assertCount(1, $result['warnings']);
|
||||
self::assertEquals('2', $result['warnings'][0]['warningcode']);
|
||||
|
||||
// Now, everything ok.
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'zyx');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
|
||||
self::assertTrue($result['status']);
|
||||
self::assertEquals(2, $DB->count_records('user_enrolments', array('enrolid' => $instance2->id)));
|
||||
@@ -232,20 +236,20 @@ class enrol_self_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
self::setUser($user3);
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'invalidkey');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertFalse($result['status']);
|
||||
self::assertCount(2, $result['warnings']);
|
||||
|
||||
// Now, everything ok.
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'zyx');
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertTrue($result['status']);
|
||||
self::assertTrue(is_enrolled($context2, $user3));
|
||||
|
||||
// Now test passing an instance id.
|
||||
self::setUser($user4);
|
||||
$result = enrol_self_external::enrol_user($course2->id, 'abcdef', $instance3id);
|
||||
$result = external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(enrol_self_external::enrol_user_returns(), $result);
|
||||
self::assertTrue($result['status']);
|
||||
self::assertTrue(is_enrolled($context2, $user3));
|
||||
self::assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -14,6 +14,12 @@
|
||||
// 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_enrol;
|
||||
|
||||
use core_enrol_external;
|
||||
use enrol_user_enrolment_form;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -30,7 +36,7 @@ require_once($CFG->dirroot . '/enrol/externallib.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.4
|
||||
*/
|
||||
class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* dataProvider for test_get_enrolled_users_visibility().
|
||||
@@ -256,7 +262,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Create the course and the users.
|
||||
$course = $this->getDataGenerator()->create_course(array('groupmode' => $settings['coursegroupmode']));
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$user0 = $this->getDataGenerator()->create_user(array('username' => 'user0')); // A user without group.
|
||||
$user1 = $this->getDataGenerator()->create_user(array('username' => 'user1')); // User for group 1.
|
||||
$user2 = $this->getDataGenerator()->create_user(array('username' => 'user2')); // Two users for group 2.
|
||||
@@ -342,7 +348,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$enrolledusers = core_enrol_external::get_enrolled_users($course->id, $options);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
|
||||
// We are only interested in ids to check visibility.
|
||||
$viewed = array();
|
||||
@@ -365,7 +371,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Create the course and the users.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$user0 = $this->getDataGenerator()->create_user(['username' => 'user0active']);
|
||||
$user1 = $this->getDataGenerator()->create_user(['username' => 'user1active']);
|
||||
$user2 = $this->getDataGenerator()->create_user(['username' => 'user2active']);
|
||||
@@ -399,7 +405,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$suspendedusers = core_enrol_external::get_enrolled_users($course->id, $options);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$suspendedusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $suspendedusers);
|
||||
$suspendedusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $suspendedusers);
|
||||
$this->assertCount(2, $suspendedusers);
|
||||
|
||||
foreach ($suspendedusers as $suspendeduser) {
|
||||
@@ -414,7 +420,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$activeusers = core_enrol_external::get_enrolled_users($course->id, $options);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$activeusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $activeusers);
|
||||
$activeusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $activeusers);
|
||||
$this->assertCount(4, $activeusers);
|
||||
|
||||
foreach ($activeusers as $activeuser) {
|
||||
@@ -428,7 +434,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$allusers = core_enrol_external::get_enrolled_users($course->id, $options);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$allusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $allusers);
|
||||
$allusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $allusers);
|
||||
$this->assertCount(6, $allusers);
|
||||
|
||||
// Active and suspended. Test exception is thrown.
|
||||
@@ -475,8 +481,8 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course1 = self::getDataGenerator()->create_course($coursedata1);
|
||||
$course2 = self::getDataGenerator()->create_course($coursedata2);
|
||||
$courses = array($course1, $course2);
|
||||
$contexts = array ($course1->id => context_course::instance($course1->id),
|
||||
$course2->id => context_course::instance($course2->id));
|
||||
$contexts = array ($course1->id => \context_course::instance($course1->id),
|
||||
$course2->id => \context_course::instance($course2->id));
|
||||
|
||||
$student = $this->getDataGenerator()->create_user();
|
||||
$otherstudent = $this->getDataGenerator()->create_user();
|
||||
@@ -496,15 +502,15 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Force completion, setting at least one criteria.
|
||||
require_once($CFG->dirroot.'/completion/criteria/completion_criteria_self.php');
|
||||
$criteriadata = new stdClass();
|
||||
$criteriadata = new \stdClass();
|
||||
$criteriadata->id = $course1->id;
|
||||
// Self completion.
|
||||
$criteriadata->criteria_self = 1;
|
||||
|
||||
$criterion = new completion_criteria_self();
|
||||
$criterion = new \completion_criteria_self();
|
||||
$criterion->update_config($criteriadata);
|
||||
|
||||
$ccompletion = new completion_completion(array('course' => $course1->id, 'userid' => $student->id));
|
||||
$ccompletion = new \completion_completion(array('course' => $course1->id, 'userid' => $student->id));
|
||||
$ccompletion->mark_complete();
|
||||
|
||||
// Set course hidden and favourited.
|
||||
@@ -517,7 +523,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$enrolledincourses = core_enrol_external::get_users_courses($student->id, true);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledincourses = external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$enrolledincourses = \external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
|
||||
// Check we retrieve the good total number of enrolled users.
|
||||
$this->assertEquals(2, count($enrolledincourses));
|
||||
@@ -564,7 +570,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Check that returnusercount works correctly.
|
||||
$enrolledincourses = core_enrol_external::get_users_courses($student->id, false);
|
||||
$enrolledincourses = external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$enrolledincourses = \external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
foreach ($enrolledincourses as $courseenrol) {
|
||||
$this->assertFalse(isset($courseenrol['enrolledusercount']));
|
||||
}
|
||||
@@ -573,7 +579,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
|
||||
$enrolledincourses = core_enrol_external::get_users_courses($student->id, true);
|
||||
$enrolledincourses = external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$enrolledincourses = \external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$this->assertEquals(2, count($enrolledincourses));
|
||||
foreach ($enrolledincourses as $courseenrol) {
|
||||
if ($courseenrol['id'] == $course1->id) {
|
||||
@@ -596,7 +602,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($otherstudent);
|
||||
|
||||
$enrolledincourses = core_enrol_external::get_users_courses($student->id, true);
|
||||
$enrolledincourses = external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$enrolledincourses = \external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$this->assertEquals(1, count($enrolledincourses));
|
||||
|
||||
$this->assertEquals($timenow, $enrolledincourses[0]['lastaccess']); // I can see this, not hidden.
|
||||
@@ -605,7 +611,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Change some global profile visibility fields.
|
||||
$CFG->hiddenuserfields = 'lastaccess';
|
||||
$enrolledincourses = core_enrol_external::get_users_courses($student->id, true);
|
||||
$enrolledincourses = external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$enrolledincourses = \external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
|
||||
$this->assertEquals(0, $enrolledincourses[0]['lastaccess']); // I can't see this, hidden by global setting.
|
||||
}
|
||||
@@ -619,7 +625,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
$user1 = $this->getDataGenerator()->create_and_enrol($course, 'student');
|
||||
$user2 = $this->getDataGenerator()->create_and_enrol($course, 'student');
|
||||
@@ -707,7 +713,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
];
|
||||
|
||||
$course = self::getDataGenerator()->create_course($coursedata);
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Enrol a student in the course.
|
||||
$student = $this->getDataGenerator()->create_user();
|
||||
@@ -720,7 +726,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$enrolledincourses = core_enrol_external::get_users_courses($student->id, true);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledincourses = external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
$enrolledincourses = \external_api::clean_returnvalue(core_enrol_external::get_users_courses_returns(), $enrolledincourses);
|
||||
|
||||
// Check that the amount of courses is the right one.
|
||||
$this->assertCount(1, $enrolledincourses);
|
||||
@@ -758,7 +764,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertNotEmpty($studentrole);
|
||||
|
||||
$course1 = self::getDataGenerator()->create_course();
|
||||
$coursedata = new stdClass();
|
||||
$coursedata = new \stdClass();
|
||||
$coursedata->visible = 0;
|
||||
$course2 = self::getDataGenerator()->create_course($coursedata);
|
||||
|
||||
@@ -781,7 +787,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Check if information is returned.
|
||||
$enrolmentmethods = core_enrol_external::get_course_enrolment_methods($course1->id);
|
||||
$enrolmentmethods = external_api::clean_returnvalue(core_enrol_external::get_course_enrolment_methods_returns(),
|
||||
$enrolmentmethods = \external_api::clean_returnvalue(core_enrol_external::get_course_enrolment_methods_returns(),
|
||||
$enrolmentmethods);
|
||||
// Enrolment information is currently returned by self enrolment plugin, so count == 1.
|
||||
// This should be changed as we implement get_enrol_info() for other enrolment plugins.
|
||||
@@ -799,7 +805,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
'customint6' => 1,
|
||||
'password' => 'test'));
|
||||
$enrolmentmethods = core_enrol_external::get_course_enrolment_methods($course2->id);
|
||||
$enrolmentmethods = external_api::clean_returnvalue(core_enrol_external::get_course_enrolment_methods_returns(),
|
||||
$enrolmentmethods = \external_api::clean_returnvalue(core_enrol_external::get_course_enrolment_methods_returns(),
|
||||
$enrolmentmethods);
|
||||
$this->assertCount(1, $enrolmentmethods);
|
||||
|
||||
@@ -814,7 +820,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($user);
|
||||
try {
|
||||
core_enrol_external::get_course_enrolment_methods($course2->id);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('coursehidden', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -824,7 +830,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$return = new stdClass();
|
||||
$return = new \stdClass();
|
||||
|
||||
$return->course = self::getDataGenerator()->create_course();
|
||||
$return->user1 = self::getDataGenerator()->create_user();
|
||||
@@ -833,7 +839,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($return->user3);
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$return->context = context_course::instance($return->course->id);
|
||||
$return->context = \context_course::instance($return->course->id);
|
||||
$return->roleid = $this->assignUserCapability($capability, $return->context->id);
|
||||
$this->assignUserCapability('moodle/user:viewdetails', $return->context->id, $return->roleid);
|
||||
|
||||
@@ -857,7 +863,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$enrolledusers = core_enrol_external::get_enrolled_users($data->course->id);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
|
||||
// Check the result set.
|
||||
$this->assertEquals(3, count($enrolledusers));
|
||||
@@ -879,7 +885,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
));
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
|
||||
// Check the result set, we should only get the 3rd result, which is $user3.
|
||||
$this->assertCount(1, $enrolledusers);
|
||||
@@ -900,7 +906,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$enrolledusers = core_enrol_external::get_enrolled_users($data->course->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
|
||||
// Check the result set.
|
||||
$this->assertEquals(3, count($enrolledusers));
|
||||
@@ -919,7 +925,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
$DB->insert_record('user_lastaccess', $lastaccess);
|
||||
|
||||
$enrolledusers = core_enrol_external::get_enrolled_users($data->course->id);
|
||||
$enrolledusers = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_returns(), $enrolledusers);
|
||||
|
||||
// Check the result set.
|
||||
$this->assertEquals(3, count($enrolledusers));
|
||||
@@ -938,7 +944,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$this->unassignUserCapability($capability, $data->context->id, $data->roleid);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
$categories = core_enrol_external::get_enrolled_users($data->course->id);
|
||||
}
|
||||
|
||||
@@ -947,11 +953,11 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$return = new stdClass();
|
||||
$return = new \stdClass();
|
||||
|
||||
// Create the course and fetch its context.
|
||||
$return->course = self::getDataGenerator()->create_course();
|
||||
$context = context_course::instance($return->course->id);
|
||||
$context = \context_course::instance($return->course->id);
|
||||
|
||||
// Create one teacher, and two students.
|
||||
$return->teacher = self::getDataGenerator()->create_user();
|
||||
@@ -1001,7 +1007,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
|
||||
// Check an array containing the expected user for the course capability is returned.
|
||||
$expecteduserlist = $result[0];
|
||||
@@ -1034,7 +1040,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
|
||||
// Check an array containing the expected user for the course capability is returned.
|
||||
$expecteduserlist = $result[0]['users'];
|
||||
@@ -1062,7 +1068,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$result = core_enrol_external::get_enrolled_users_with_capability($parameters, array());
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
|
||||
// Check an array containing the expected user for the course capability is returned.
|
||||
$expecteduserlist = $result[0];
|
||||
@@ -1084,7 +1090,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$result = core_enrol_external::get_enrolled_users_with_capability($parameters, array());
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$result = external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_enrol_external::get_enrolled_users_with_capability_returns(), $result);
|
||||
|
||||
// Check the result set.
|
||||
$expecteduserlist = $result[0];
|
||||
@@ -1141,21 +1147,21 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Login as teacher.
|
||||
$this->setUser($teacher);
|
||||
|
||||
$now = new DateTime();
|
||||
$now = new \DateTime();
|
||||
$nowtime = $now->getTimestamp();
|
||||
|
||||
// Invalid data.
|
||||
$data = core_enrol_external::edit_user_enrolment($course->id, $ueid, ENROL_USER_ACTIVE, $nowtime, $nowtime);
|
||||
$data = external_api::clean_returnvalue(core_enrol_external::edit_user_enrolment_returns(), $data);
|
||||
$data = \external_api::clean_returnvalue(core_enrol_external::edit_user_enrolment_returns(), $data);
|
||||
$this->assertFalse($data['result']);
|
||||
$this->assertNotEmpty($data['errors']);
|
||||
|
||||
// Valid data.
|
||||
$nextmonth = clone($now);
|
||||
$nextmonth->add(new DateInterval('P1M'));
|
||||
$nextmonth->add(new \DateInterval('P1M'));
|
||||
$nextmonthtime = $nextmonth->getTimestamp();
|
||||
$data = core_enrol_external::edit_user_enrolment($course->id, $ueid, ENROL_USER_ACTIVE, $nowtime, $nextmonthtime);
|
||||
$data = external_api::clean_returnvalue(core_enrol_external::edit_user_enrolment_returns(), $data);
|
||||
$data = \external_api::clean_returnvalue(core_enrol_external::edit_user_enrolment_returns(), $data);
|
||||
$this->assertTrue($data['result']);
|
||||
$this->assertEmpty($data['errors']);
|
||||
|
||||
@@ -1167,7 +1173,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Suspend user.
|
||||
$data = core_enrol_external::edit_user_enrolment($course->id, $ueid, ENROL_USER_SUSPENDED);
|
||||
$data = external_api::clean_returnvalue(core_enrol_external::edit_user_enrolment_returns(), $data);
|
||||
$data = \external_api::clean_returnvalue(core_enrol_external::edit_user_enrolment_returns(), $data);
|
||||
$this->assertTrue($data['result']);
|
||||
$this->assertEmpty($data['errors']);
|
||||
|
||||
@@ -1180,10 +1186,10 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
* dataProvider for test_submit_user_enrolment_form().
|
||||
*/
|
||||
public function submit_user_enrolment_form_provider() {
|
||||
$now = new DateTime();
|
||||
$now = new \DateTime();
|
||||
|
||||
$nextmonth = clone($now);
|
||||
$nextmonth->add(new DateInterval('P1M'));
|
||||
$nextmonth->add(new \DateInterval('P1M'));
|
||||
|
||||
return [
|
||||
'Invalid data' => [
|
||||
@@ -1309,7 +1315,7 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$querystring = http_build_query($formdata, '', '&');
|
||||
|
||||
$result = external_api::clean_returnvalue(
|
||||
$result = \external_api::clean_returnvalue(
|
||||
core_enrol_external::submit_user_enrolment_form_returns(),
|
||||
core_enrol_external::submit_user_enrolment_form($querystring)
|
||||
);
|
||||
@@ -1374,13 +1380,13 @@ class core_enrol_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Invalid data by passing invalid ueid.
|
||||
$data = core_enrol_external::unenrol_user_enrolment(101010);
|
||||
$data = external_api::clean_returnvalue(core_enrol_external::unenrol_user_enrolment_returns(), $data);
|
||||
$data = \external_api::clean_returnvalue(core_enrol_external::unenrol_user_enrolment_returns(), $data);
|
||||
$this->assertFalse($data['result']);
|
||||
$this->assertNotEmpty($data['errors']);
|
||||
|
||||
// Valid data.
|
||||
$data = core_enrol_external::unenrol_user_enrolment($ueid);
|
||||
$data = external_api::clean_returnvalue(core_enrol_external::unenrol_user_enrolment_returns(), $data);
|
||||
$data = \external_api::clean_returnvalue(core_enrol_external::unenrol_user_enrolment_returns(), $data);
|
||||
$this->assertTrue($data['result']);
|
||||
$this->assertEmpty($data['errors']);
|
||||
|
||||
|
||||
@@ -14,6 +14,18 @@
|
||||
// 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_files;
|
||||
|
||||
use core_files_external;
|
||||
use core_files\external\delete\draft;
|
||||
use core_files\external\get\unused_draft;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/files/externallib.php');
|
||||
|
||||
/**
|
||||
* PHPunit tests for external files API.
|
||||
@@ -24,14 +36,7 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.6
|
||||
*/
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/files/externallib.php');
|
||||
|
||||
class core_files_externallib_testcase extends advanced_testcase {
|
||||
class externallib_test extends \advanced_testcase {
|
||||
|
||||
/*
|
||||
* Test core_files_external::upload().
|
||||
@@ -42,7 +47,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$contextid = $context->id;
|
||||
$component = "user";
|
||||
$filearea = "draft";
|
||||
@@ -61,7 +66,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
// Call the api to create a file.
|
||||
$fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath,
|
||||
$filename, $filecontent, $contextlevel, $instanceid);
|
||||
$fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$fileinfo = \external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
// Get the created draft item id.
|
||||
$itemid = $fileinfo['itemid'];
|
||||
|
||||
@@ -77,7 +82,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
// Call the api to create a file.
|
||||
$fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid,
|
||||
$filepath, $filename, $filecontent, $contextlevel, $instanceid);
|
||||
$fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$fileinfo = \external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
|
||||
$this->assertNotEmpty($file);
|
||||
|
||||
@@ -90,7 +95,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
$this->assertEmpty($file);
|
||||
$fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath,
|
||||
$filename, $filecontent, $contextlevel, $instanceid);
|
||||
$fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$fileinfo = \external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
|
||||
$this->assertNotEmpty($file);
|
||||
|
||||
@@ -108,7 +113,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$contextid = $context->id;
|
||||
$component = "backup";
|
||||
$filearea = "draft";
|
||||
@@ -133,7 +138,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$contextid = $context->id;
|
||||
$component = "user";
|
||||
$filearea = "draft";
|
||||
@@ -147,7 +152,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
// Make sure the file is created.
|
||||
$fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent,
|
||||
'user', $USER->id);
|
||||
$fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$fileinfo = \external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
|
||||
$browser = get_file_browser();
|
||||
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
|
||||
$this->assertNotEmpty($file);
|
||||
@@ -167,7 +172,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
|
||||
// Create a course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$record->name = "Mod data upload test";
|
||||
$record->intro = "Some intro of some sort";
|
||||
@@ -178,7 +183,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
// Create a new field in the database activity.
|
||||
$field = data_get_field_new('file', $module);
|
||||
// Add more detail about the field.
|
||||
$fielddetail = new stdClass();
|
||||
$fielddetail = new \stdClass();
|
||||
$fielddetail->d = $module->id;
|
||||
$fielddetail->mode = 'add';
|
||||
$fielddetail->type = 'file';
|
||||
@@ -200,8 +205,8 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
// Insert the information about the file.
|
||||
$contentid = $DB->insert_record('data_content', $datacontent);
|
||||
// Required information for uploading a file.
|
||||
$context = context_module::instance($module->cmid);
|
||||
$usercontext = context_user::instance($USER->id);
|
||||
$context = \context_module::instance($module->cmid);
|
||||
$usercontext = \context_user::instance($USER->id);
|
||||
$component = 'mod_data';
|
||||
$filearea = 'content';
|
||||
$itemid = $contentid;
|
||||
@@ -228,10 +233,10 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
// The first time is with a valid context ID.
|
||||
$filename = '';
|
||||
$testfilelisting = core_files_external::get_files($context->id, $component, $filearea, $itemid, '/', $filename);
|
||||
$testfilelisting = external_api::clean_returnvalue(core_files_external::get_files_returns(), $testfilelisting);
|
||||
$testfilelisting = \external_api::clean_returnvalue(core_files_external::get_files_returns(), $testfilelisting);
|
||||
|
||||
// With the information that we have provided we should get an object exactly like the one below.
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$testdata = array();
|
||||
$testdata['parents'] = array();
|
||||
$testdata['parents']['0'] = array('contextid' => 1,
|
||||
@@ -289,7 +294,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
$contextlevel = 'module';
|
||||
$instanceid = $module->cmid;
|
||||
$testfilelisting = core_files_external::get_files($nocontext, $component, $filearea, $itemid, '/', $filename, $modified, $contextlevel, $instanceid);
|
||||
$testfilelisting = external_api::clean_returnvalue(core_files_external::get_files_returns(), $testfilelisting);
|
||||
$testfilelisting = \external_api::clean_returnvalue(core_files_external::get_files_returns(), $testfilelisting);
|
||||
|
||||
$this->assertEquals($testfilelisting, $testdata);
|
||||
}
|
||||
@@ -305,7 +310,7 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
|
||||
// Add files to user draft area.
|
||||
$draftitemid = file_get_unused_draft_itemid();
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$filerecordinline = array(
|
||||
'contextid' => $context->id,
|
||||
'component' => 'user',
|
||||
@@ -325,12 +330,12 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
|
||||
// Check two files were created (one file and one directory).
|
||||
$files = core_files_external::get_files($context->id, 'user', 'draft', $draftitemid, '/', '');
|
||||
$files = external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$files = \external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$this->assertCount(2, $files['files']);
|
||||
|
||||
// Check the folder has one file.
|
||||
$files = core_files_external::get_files($context->id, 'user', 'draft', $draftitemid, '/fakefolder/', '');
|
||||
$files = external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$files = \external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$this->assertCount(1, $files['files']);
|
||||
|
||||
// Delete a file and a folder.
|
||||
@@ -338,12 +343,12 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
['filepath' => '/', 'filename' => 'faketxt.txt'],
|
||||
['filepath' => '/fakefolder/', 'filename' => ''],
|
||||
];
|
||||
$paths = core_files\external\delete\draft::execute($draftitemid, $filestodelete);
|
||||
$paths = external_api::clean_returnvalue(core_files\external\delete\draft::execute_returns(), $paths);
|
||||
$paths = draft::execute($draftitemid, $filestodelete);
|
||||
$paths = \external_api::clean_returnvalue(draft::execute_returns(), $paths);
|
||||
|
||||
// Check everything was deleted.
|
||||
$files = core_files_external::get_files($context->id, 'user', 'draft', $draftitemid, '/', '');
|
||||
$files = external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$files = \external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$this->assertCount(0, $files['files']);
|
||||
}
|
||||
|
||||
@@ -357,8 +362,8 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
|
||||
// Add files to user draft area.
|
||||
$result = core_files\external\get\unused_draft::execute();
|
||||
$result = external_api::clean_returnvalue(core_files\external\get\unused_draft::execute_returns(), $result);
|
||||
$result = unused_draft::execute();
|
||||
$result = \external_api::clean_returnvalue(unused_draft::execute_returns(), $result);
|
||||
|
||||
$filerecordinline = [
|
||||
'contextid' => $result['contextid'],
|
||||
@@ -377,10 +382,10 @@ class core_files_externallib_testcase extends advanced_testcase {
|
||||
$filerecordinline['filename'] = 'fakeimage.png';
|
||||
$fs->create_file_from_string($filerecordinline, 'img...');
|
||||
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
// Check two files were created (one file and one directory).
|
||||
$files = core_files_external::get_files($context->id, 'user', 'draft', $result['itemid'], '/', '');
|
||||
$files = external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$files = \external_api::clean_returnvalue(core_files_external::get_files_returns(), $files);
|
||||
$this->assertCount(2, $files['files']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,7 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->dirroot . '/filter/activitynames/filter.php'); // Include the code to test.
|
||||
namespace filter_activitynames;
|
||||
|
||||
/**
|
||||
* Test case for the activity names auto-linking filter.
|
||||
@@ -34,14 +31,14 @@ require_once($CFG->dirroot . '/filter/activitynames/filter.php'); // Include the
|
||||
* @copyright 2018 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_activitynames_filter_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
public function test_links() {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create two pages that will be linked to.
|
||||
$page1 = $this->getDataGenerator()->create_module('page',
|
||||
@@ -79,7 +76,7 @@ class filter_activitynames_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Work around an issue with the activity names filter which maintains a static cache
|
||||
// of activities for current course ID. We can re-build the cache by switching user.
|
||||
@@ -109,8 +106,8 @@ class filter_activitynames_filter_testcase extends advanced_testcase {
|
||||
// Create a test courses.
|
||||
$course1 = $this->getDataGenerator()->create_course();
|
||||
$course2 = $this->getDataGenerator()->create_course();
|
||||
$context1 = context_course::instance($course1->id);
|
||||
$context2 = context_course::instance($course2->id);
|
||||
$context1 = \context_course::instance($course1->id);
|
||||
$context2 = \context_course::instance($course2->id);
|
||||
|
||||
// Create page 1.
|
||||
$page1 = $this->getDataGenerator()->create_module('page',
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_algebra;
|
||||
|
||||
use filter_algebra;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -40,13 +44,13 @@ require_once($CFG->dirroot . '/filter/algebra/filter.php');
|
||||
* @copyright 2012 Tim Hunt
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_algebra_testcase extends basic_testcase {
|
||||
class filter_test extends \basic_testcase {
|
||||
|
||||
protected $filter;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->filter = new filter_algebra(context_system::instance(), array());
|
||||
$this->filter = new filter_algebra(\context_system::instance(), array());
|
||||
}
|
||||
|
||||
function test_algebra_filter_no_algebra() {
|
||||
|
||||
@@ -23,10 +23,7 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->dirroot . '/filter/data/filter.php');
|
||||
namespace filter_data;
|
||||
|
||||
/**
|
||||
* Tests for filter_data.
|
||||
@@ -35,7 +32,7 @@ require_once($CFG->dirroot . '/filter/data/filter.php');
|
||||
* @copyright 2015 David Monllao
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_data_filter_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Tests that the filter applies the required changes.
|
||||
@@ -46,17 +43,17 @@ class filter_data_filter_testcase extends advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
$this->setAdminUser();
|
||||
filter_manager::reset_caches();
|
||||
\filter_manager::reset_caches();
|
||||
|
||||
filter_set_global_state('data', TEXTFILTER_ON);
|
||||
|
||||
$course1 = $this->getDataGenerator()->create_course();
|
||||
$coursecontext1 = context_course::instance($course1->id);
|
||||
$coursecontext1 = \context_course::instance($course1->id);
|
||||
|
||||
$course2 = $this->getDataGenerator()->create_course();
|
||||
$coursecontext2 = context_course::instance($course2->id);
|
||||
$coursecontext2 = \context_course::instance($course2->id);
|
||||
|
||||
$sitecontext = context_course::instance(SITEID);
|
||||
$sitecontext = \context_course::instance(SITEID);
|
||||
|
||||
$site = get_site();
|
||||
$this->add_simple_database_instance($site, array('SiteEntry'));
|
||||
@@ -83,7 +80,7 @@ class filter_data_filter_testcase extends advanced_testcase {
|
||||
/**
|
||||
* Adds a database instance to the provided course + a text field + adds all attached entries.
|
||||
*
|
||||
* @param stdClass $course
|
||||
* @param \stdClass $course
|
||||
* @param array $entries A list of entry names.
|
||||
* @return void
|
||||
*/
|
||||
@@ -95,7 +92,7 @@ class filter_data_filter_testcase extends advanced_testcase {
|
||||
|
||||
// A database field.
|
||||
$field = data_get_field_new('text', $database);
|
||||
$fielddetail = new stdClass();
|
||||
$fielddetail = new \stdClass();
|
||||
$fielddetail->d = $database->id;
|
||||
$fielddetail->mode = 'add';
|
||||
$fielddetail->type = 'text';
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_displayh5p;
|
||||
|
||||
use filter_displayh5p;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -34,7 +38,7 @@ require_once($CFG->dirroot.'/filter/displayh5p/filter.php');
|
||||
* @copyright 2019 Victor Deniz <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_displayh5p_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
public function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_emoticon;
|
||||
|
||||
use filter_emoticon;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -31,7 +35,7 @@ require_once($CFG->dirroot . '/filter/emoticon/filter.php'); // Include the code
|
||||
/**
|
||||
* Skype icons filter testcase.
|
||||
*/
|
||||
class filter_emoticon_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test that filter ignores nolink/pre element, and processes remaining text
|
||||
@@ -185,7 +189,7 @@ class filter_emoticon_testcase extends advanced_testcase {
|
||||
// Empty the emoticons array.
|
||||
$CFG->emoticons = null;
|
||||
|
||||
$filter = new filter_emoticon(context_system::instance(), array('originalformat' => FORMAT_HTML));
|
||||
$filter = new filter_emoticon(\context_system::instance(), array('originalformat' => FORMAT_HTML));
|
||||
|
||||
$input = '(grr)';
|
||||
$expected = '(grr)';
|
||||
@@ -205,7 +209,7 @@ class testable_filter_emoticon extends filter_emoticon {
|
||||
parent::$emoticontexts = array();
|
||||
parent::$emoticonimgs = array();
|
||||
// Use this context for filtering.
|
||||
$this->context = context_system::instance();
|
||||
$this->context = \context_system::instance();
|
||||
// Define FORMAT_HTML as only one filtering in DB.
|
||||
set_config('formats', implode(',', array(FORMAT_HTML)), 'filter_emoticon');
|
||||
}
|
||||
|
||||
@@ -23,15 +23,12 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->dirroot . '/filter/glossary/filter.php'); // Include the code to test.
|
||||
namespace filter_glossary;
|
||||
|
||||
/**
|
||||
* Test case for glossary.
|
||||
*/
|
||||
class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
public function test_link_to_entry_with_alias() {
|
||||
global $CFG;
|
||||
@@ -43,7 +40,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
@@ -84,7 +81,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
@@ -121,7 +118,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
@@ -159,7 +156,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
@@ -205,7 +202,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
@@ -249,7 +246,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
@@ -288,7 +285,7 @@ class filter_glossary_filter_testcase extends advanced_testcase {
|
||||
|
||||
// Create a test course.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
|
||||
// Create a glossary.
|
||||
$glossary = $this->getDataGenerator()->create_module('glossary',
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_mathjaxloader;
|
||||
|
||||
use filter_mathjaxloader;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -34,7 +38,7 @@ require_once($CFG->dirroot.'/filter/mathjaxloader/filter.php');
|
||||
* @copyright 2017 David Mudrak <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_mathjaxloader_filter_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test the functionality of {@link filter_mathjaxloader::map_language_code()}.
|
||||
@@ -46,7 +50,7 @@ class filter_mathjaxloader_filter_testcase extends advanced_testcase {
|
||||
*/
|
||||
public function test_map_language_code($moodlelangcode, $mathjaxlangcode) {
|
||||
|
||||
$filter = new filter_mathjaxloader(context_system::instance(), []);
|
||||
$filter = new filter_mathjaxloader(\context_system::instance(), []);
|
||||
$this->assertEquals($mathjaxlangcode, $filter->map_language_code($moodlelangcode));
|
||||
}
|
||||
|
||||
|
||||
@@ -23,13 +23,17 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_mediaplugin;
|
||||
|
||||
use filter_mediaplugin;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->dirroot . '/filter/mediaplugin/filter.php'); // Include the code to test
|
||||
|
||||
|
||||
class filter_mediaplugin_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
function test_filter_mediaplugin_link() {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
@@ -23,8 +23,9 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace filter_multilang;
|
||||
|
||||
use filter_multilang;
|
||||
|
||||
/**
|
||||
* Tests for filter_multilang.
|
||||
@@ -32,7 +33,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2019 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_multilang_filter_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
public function setUp(): void {
|
||||
parent::setUp();
|
||||
@@ -142,7 +143,7 @@ class filter_multilang_filter_testcase extends advanced_testcase {
|
||||
$this->setup_parent_language($child, $parent);
|
||||
}
|
||||
|
||||
$filtered = format_text($input, FORMAT_HTML, array('context' => context_system::instance()));
|
||||
$filtered = format_text($input, FORMAT_HTML, array('context' => \context_system::instance()));
|
||||
$this->assertEquals($expectedoutput, $filtered);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,10 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_tex;
|
||||
|
||||
use filter_tex;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -36,14 +40,14 @@ require_once($CFG->dirroot . '/filter/tex/filter.php');
|
||||
* @copyright 2014 Damyon Wiese
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class filter_tex_testcase extends advanced_testcase {
|
||||
class filter_test extends \advanced_testcase {
|
||||
|
||||
protected $filter;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->resetAfterTest(true);
|
||||
$this->filter = new filter_tex(context_system::instance(), array());
|
||||
$this->filter = new filter_tex(\context_system::instance(), array());
|
||||
}
|
||||
|
||||
function run_with_delimiters($start, $end, $filtershouldrun) {
|
||||
|
||||
@@ -23,13 +23,17 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace filter_urltolink;
|
||||
|
||||
use filter_urltolink;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->dirroot . '/filter/urltolink/filter.php'); // Include the code to test
|
||||
|
||||
|
||||
class filter_urltolink_filter_testcase extends basic_testcase {
|
||||
class filter_test extends \basic_testcase {
|
||||
|
||||
function get_convert_urls_into_links_test_cases() {
|
||||
// Create a 4095 and 4096 long URLs.
|
||||
|
||||
@@ -14,14 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Overview grade report functions unit tests
|
||||
*
|
||||
* @package gradereport_overview
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace gradereport_overview;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use gradereport_overview_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -37,7 +33,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class gradereport_overview_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
@@ -91,7 +87,7 @@ class gradereport_overview_externallib_testcase extends externallib_advanced_tes
|
||||
// A user can see his own grades in both courses.
|
||||
$this->setUser($this->student1);
|
||||
$studentgrades = gradereport_overview_external::get_course_grades();
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
$this->assertCount(2, $studentgrades['grades']);
|
||||
@@ -110,7 +106,7 @@ class gradereport_overview_externallib_testcase extends externallib_advanced_tes
|
||||
// Second student, no grade in one course.
|
||||
$this->setUser($this->student2);
|
||||
$studentgrades = gradereport_overview_external::get_course_grades();
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
$this->assertCount(2, $studentgrades['grades']);
|
||||
@@ -136,7 +132,7 @@ class gradereport_overview_externallib_testcase extends externallib_advanced_tes
|
||||
$this->setAdminUser();
|
||||
|
||||
$studentgrades = gradereport_overview_external::get_course_grades($this->student1->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
$this->assertCount(2, $studentgrades['grades']);
|
||||
foreach ($studentgrades['grades'] as $grade) {
|
||||
@@ -150,13 +146,13 @@ class gradereport_overview_externallib_testcase extends externallib_advanced_tes
|
||||
}
|
||||
|
||||
$studentgrades = gradereport_overview_external::get_course_grades($this->student2->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
$this->assertCount(2, $studentgrades['grades']);
|
||||
|
||||
// Admins don't see grades.
|
||||
$studentgrades = gradereport_overview_external::get_course_grades();
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
$this->assertCount(0, $studentgrades['grades']);
|
||||
}
|
||||
@@ -169,7 +165,7 @@ class gradereport_overview_externallib_testcase extends externallib_advanced_tes
|
||||
$this->setUser($this->teacher);
|
||||
|
||||
$studentgrades = gradereport_overview_external::get_course_grades();
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_overview_external::get_course_grades_returns(), $studentgrades);
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
$this->assertCount(0, $studentgrades['grades']);
|
||||
}
|
||||
@@ -196,26 +192,26 @@ class gradereport_overview_externallib_testcase extends externallib_advanced_tes
|
||||
|
||||
$this->setUser($this->student1);
|
||||
$result = gradereport_overview_external::view_grade_report($this->course1->id);
|
||||
$result = external_api::clean_returnvalue(gradereport_overview_external::view_grade_report_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(gradereport_overview_external::view_grade_report_returns(), $result);
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
$event = reset($events);
|
||||
|
||||
// Check the event details are correct.
|
||||
$this->assertInstanceOf('\gradereport_overview\event\grade_report_viewed', $event);
|
||||
$this->assertEquals(context_course::instance($this->course1->id), $event->get_context());
|
||||
$this->assertEquals(\context_course::instance($this->course1->id), $event->get_context());
|
||||
$this->assertEquals($USER->id, $event->get_data()['relateduserid']);
|
||||
|
||||
$this->setUser($this->teacher);
|
||||
$result = gradereport_overview_external::view_grade_report($this->course1->id, $this->student1->id);
|
||||
$result = external_api::clean_returnvalue(gradereport_overview_external::view_grade_report_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(gradereport_overview_external::view_grade_report_returns(), $result);
|
||||
$events = $sink->get_events();
|
||||
$event = reset($events);
|
||||
$sink->close();
|
||||
|
||||
// Check the event details are correct.
|
||||
$this->assertInstanceOf('\gradereport_overview\event\grade_report_viewed', $event);
|
||||
$this->assertEquals(context_course::instance($this->course1->id), $event->get_context());
|
||||
$this->assertEquals(\context_course::instance($this->course1->id), $event->get_context());
|
||||
$this->assertEquals($this->student1->id, $event->get_data()['relateduserid']);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,14 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* User grade report functions unit tests
|
||||
*
|
||||
* @package gradereport_user
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace gradereport_user;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use gradereport_user_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -38,7 +34,7 @@ require_once($CFG->dirroot . '/grade/report/user/externallib.php');
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class gradereport_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Loads some data to be used by the different tests
|
||||
@@ -62,7 +58,7 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
$teacher = $this->getDataGenerator()->create_user();
|
||||
$this->getDataGenerator()->enrol_user($teacher->id, $course->id, $teacherrole->id);
|
||||
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
assign_capability('moodle/site:accessallgroups', CAP_PROHIBIT, $teacherrole->id, $context);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
@@ -100,7 +96,7 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
$this->setUser($teacher);
|
||||
|
||||
$studentgrades = gradereport_user_external::get_grades_table($course->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_user_external::get_grades_table_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_user_external::get_grades_table_returns(), $studentgrades);
|
||||
|
||||
// No warnings returned.
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
@@ -132,7 +128,7 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
// A user can see his own grades.
|
||||
$this->setUser($student1);
|
||||
$studentgrade = gradereport_user_external::get_grades_table($course->id, $student1->id);
|
||||
$studentgrade = external_api::clean_returnvalue(gradereport_user_external::get_grades_table_returns(), $studentgrade);
|
||||
$studentgrade = \external_api::clean_returnvalue(gradereport_user_external::get_grades_table_returns(), $studentgrade);
|
||||
|
||||
// No warnings returned.
|
||||
$this->assertTrue(count($studentgrade['warnings']) == 0);
|
||||
@@ -161,7 +157,7 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
try {
|
||||
$studentgrade = gradereport_user_external::get_grades_table($course->id, $student1->id);
|
||||
$this->fail('Exception expected due to not perissions to view other user grades.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('notingroup', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -183,33 +179,33 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
|
||||
$this->setUser($student1);
|
||||
$result = gradereport_user_external::view_grade_report($course->id);
|
||||
$result = external_api::clean_returnvalue(gradereport_user_external::view_grade_report_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(gradereport_user_external::view_grade_report_returns(), $result);
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
$event = reset($events);
|
||||
|
||||
// Check the event details are correct.
|
||||
$this->assertInstanceOf('\gradereport_user\event\grade_report_viewed', $event);
|
||||
$this->assertEquals(context_course::instance($course->id), $event->get_context());
|
||||
$this->assertEquals(\context_course::instance($course->id), $event->get_context());
|
||||
$this->assertEquals($USER->id, $event->get_data()['relateduserid']);
|
||||
|
||||
$this->setUser($teacher);
|
||||
$result = gradereport_user_external::view_grade_report($course->id, $student1->id);
|
||||
$result = external_api::clean_returnvalue(gradereport_user_external::view_grade_report_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(gradereport_user_external::view_grade_report_returns(), $result);
|
||||
$events = $sink->get_events();
|
||||
$event = reset($events);
|
||||
$sink->close();
|
||||
|
||||
// Check the event details are correct.
|
||||
$this->assertInstanceOf('\gradereport_user\event\grade_report_viewed', $event);
|
||||
$this->assertEquals(context_course::instance($course->id), $event->get_context());
|
||||
$this->assertEquals(\context_course::instance($course->id), $event->get_context());
|
||||
$this->assertEquals($student1->id, $event->get_data()['relateduserid']);
|
||||
|
||||
$this->setUser($student2);
|
||||
try {
|
||||
$studentgrade = gradereport_user_external::view_grade_report($course->id, $student1->id);
|
||||
$this->fail('Exception expected due to not permissions to view other user grades.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissiontoviewgrades', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -240,7 +236,7 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
grade_set_setting($course->id, 'report_user_showaverage', 1);
|
||||
|
||||
$studentgrades = gradereport_user_external::get_grade_items($course->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
// No warnings returned.
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
|
||||
@@ -298,13 +294,13 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
$this->assertEquals(70, $studentgrades['usergrades'][0]['gradeitems'][1]['averageformatted']);
|
||||
|
||||
// Now, override and lock a grade.
|
||||
$gradegrade = grade_grade::fetch(['itemid' => $studentgrades['usergrades'][0]['gradeitems'][0]['id'],
|
||||
$gradegrade = \grade_grade::fetch(['itemid' => $studentgrades['usergrades'][0]['gradeitems'][0]['id'],
|
||||
'userid' => $studentgrades['usergrades'][0]['userid']]);
|
||||
$gradegrade->set_overridden(true);
|
||||
$gradegrade->set_locked(1);
|
||||
|
||||
$studentgrades = gradereport_user_external::get_grade_items($course->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
// No warnings returned.
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
|
||||
@@ -337,7 +333,7 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
$this->setUser($student1);
|
||||
|
||||
$studentgrades = gradereport_user_external::get_grade_items($course->id, $student1->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
// No warnings returned.
|
||||
$this->assertCount(0, $studentgrades['warnings']);
|
||||
|
||||
@@ -379,11 +375,11 @@ class gradereport_user_externallib_testcase extends externallib_advanced_testcas
|
||||
$studentgrades['usergrades'][0]['gradeitems'][0]['idnumber']);
|
||||
|
||||
// Hide one grade for the user.
|
||||
$gradegrade = new grade_grade(array('userid' => $student1->id,
|
||||
$gradegrade = new \grade_grade(array('userid' => $student1->id,
|
||||
'itemid' => $studentgrades['usergrades'][0]['gradeitems'][0]['id']), true);
|
||||
$gradegrade->set_hidden(1);
|
||||
$studentgrades = gradereport_user_external::get_grade_items($course->id, $student1->id);
|
||||
$studentgrades = external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
$studentgrades = \external_api::clean_returnvalue(gradereport_user_external::get_grade_items_returns(), $studentgrades);
|
||||
|
||||
// Check we get only the course final grade.
|
||||
$this->assertCount(1, $studentgrades['usergrades']);
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Group external PHPunit tests
|
||||
*
|
||||
* @package core_group
|
||||
* @category external
|
||||
* @copyright 2012 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.4
|
||||
*/
|
||||
namespace core_group;
|
||||
|
||||
use core_group_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -32,7 +27,16 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/group/externallib.php');
|
||||
require_once($CFG->dirroot . '/group/lib.php');
|
||||
|
||||
class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
/**
|
||||
* Group external PHPunit tests
|
||||
*
|
||||
* @package core_group
|
||||
* @category external
|
||||
* @copyright 2012 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.4
|
||||
*/
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test create_groups
|
||||
@@ -66,7 +70,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$group4['description'] = 'Group Test 4 description';
|
||||
|
||||
// Set the required capabilities by the external function
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
@@ -74,7 +78,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$groups = core_group_external::create_groups(array($group1, $group2));
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$groups = external_api::clean_returnvalue(core_group_external::create_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::create_groups_returns(), $groups);
|
||||
|
||||
// Checks against DB values
|
||||
$this->assertEquals(2, count($groups));
|
||||
@@ -93,7 +97,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$groupcourseid = $group2['courseid'];
|
||||
break;
|
||||
default:
|
||||
throw new moodle_exception('unknowgroupname');
|
||||
throw new \moodle_exception('unknowgroupname');
|
||||
break;
|
||||
}
|
||||
$this->assertEquals($dbgroup->description, $groupdescription);
|
||||
@@ -103,7 +107,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$froups = core_group_external::create_groups(array($group3));
|
||||
$this->fail('Exception expected due to already existing idnumber.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('moodle_exception', $e);
|
||||
$this->assertEquals(get_string('idnumbertaken', 'error'), $e->getMessage());
|
||||
}
|
||||
@@ -139,7 +143,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$group2data['idnumber'] = 'TEST2';
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
@@ -170,7 +174,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$groupdescription = $group2data['description'];
|
||||
break;
|
||||
default:
|
||||
throw new moodle_exception('unknowngroupname');
|
||||
throw new \moodle_exception('unknowngroupname');
|
||||
break;
|
||||
}
|
||||
$this->assertEquals($dbgroup->description, $groupdescription);
|
||||
@@ -181,7 +185,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$groups = core_group_external::update_groups(array($group1data));
|
||||
$this->fail('Exception expected due to already existing idnumber.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('moodle_exception', $e);
|
||||
$this->assertEquals(get_string('idnumbertaken', 'error'), $e->getMessage());
|
||||
}
|
||||
@@ -218,7 +222,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$group2 = self::getDataGenerator()->create_group($group2data);
|
||||
|
||||
// Set the required capabilities by the external function
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
@@ -226,7 +230,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$groups = core_group_external::get_groups(array($group1->id, $group2->id));
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_groups_returns(), $groups);
|
||||
|
||||
// Checks against DB values
|
||||
$this->assertEquals(2, count($groups));
|
||||
@@ -245,7 +249,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$groupcourseid = $group2->courseid;
|
||||
break;
|
||||
default:
|
||||
throw new moodle_exception('unknowgroupname');
|
||||
throw new \moodle_exception('unknowgroupname');
|
||||
break;
|
||||
}
|
||||
$this->assertEquals($dbgroup->description, $groupdescription);
|
||||
@@ -286,7 +290,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$group3 = self::getDataGenerator()->create_group($group3data);
|
||||
|
||||
// Set the required capabilities by the external function
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
@@ -335,7 +339,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$groupings = core_group_external::create_groupings(array($grouping1data));
|
||||
$this->fail('Exception expected due to already existing idnumber.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('moodle_exception', $e);
|
||||
$this->assertEquals(get_string('idnumbertaken', 'error'), $e->getMessage());
|
||||
}
|
||||
@@ -361,7 +365,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$groupings = core_group_external::update_groupings(array($grouping2data));
|
||||
$this->fail('Exception expected due to already existing idnumber.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('moodle_exception', $e);
|
||||
$this->assertEquals(get_string('idnumbertaken', 'error'), $e->getMessage());
|
||||
}
|
||||
@@ -386,14 +390,14 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$grouping = self::getDataGenerator()->create_grouping($groupingdata);
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
// Call the external function without specifying the optional parameter.
|
||||
$groupings = core_group_external::get_groupings(array($grouping->id));
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$groupings = external_api::clean_returnvalue(core_group_external::get_groupings_returns(), $groupings);
|
||||
$groupings = \external_api::clean_returnvalue(core_group_external::get_groupings_returns(), $groupings);
|
||||
|
||||
$this->assertEquals(1, count($groupings));
|
||||
|
||||
@@ -417,7 +421,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function specifying that groups are returned.
|
||||
$groupings = core_group_external::get_groupings(array($grouping->id), true);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$groupings = external_api::clean_returnvalue(core_group_external::get_groupings_returns(), $groupings);
|
||||
$groupings = \external_api::clean_returnvalue(core_group_external::get_groupings_returns(), $groupings);
|
||||
$this->assertEquals(1, count($groupings));
|
||||
$this->assertEquals(2, count($groupings[0]['groups']));
|
||||
foreach ($groupings[0]['groups'] as $group) {
|
||||
@@ -436,7 +440,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$groupcourseid = $group2->courseid;
|
||||
break;
|
||||
default:
|
||||
throw new moodle_exception('unknowgroupname');
|
||||
throw new \moodle_exception('unknowgroupname');
|
||||
break;
|
||||
}
|
||||
$this->assertEquals($dbgroup->description, $groupdescription);
|
||||
@@ -475,7 +479,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$grouping3 = self::getDataGenerator()->create_grouping($groupingdata3);
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
@@ -559,7 +563,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($student1);
|
||||
|
||||
$groups = core_group_external::get_course_user_groups($course->id, $student1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that I see my groups.
|
||||
$this->assertCount(2, $groups['groups']);
|
||||
$this->assertEquals($course->id, $groups['groups'][0]['courseid']);
|
||||
@@ -567,7 +571,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Check that I only see my groups inside the given grouping.
|
||||
$groups = core_group_external::get_course_user_groups($course->id, $student1->id, $grouping->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that I see my groups in the grouping.
|
||||
$this->assertCount(1, $groups['groups']);
|
||||
$this->assertEquals($group1->id, $groups['groups'][0]['id']);
|
||||
@@ -575,13 +579,13 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Check optional parameters (all student 1 courses and current user).
|
||||
$groups = core_group_external::get_course_user_groups();
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that I see my groups in all my courses.
|
||||
$this->assertCount(3, $groups['groups']);
|
||||
|
||||
$this->setUser($student2);
|
||||
$groups = core_group_external::get_course_user_groups($course->id, $student2->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that I see my groups.
|
||||
$this->assertCount(1, $groups['groups']);
|
||||
|
||||
@@ -591,17 +595,17 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($teacher);
|
||||
$groups = core_group_external::get_course_user_groups($course->id, $student1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that a teacher can see student groups in given course.
|
||||
$this->assertCount(2, $groups['groups']);
|
||||
|
||||
$groups = core_group_external::get_course_user_groups($course->id, $student2->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that a teacher can see student groups in given course.
|
||||
$this->assertCount(1, $groups['groups']);
|
||||
|
||||
$groups = core_group_external::get_course_user_groups(0, $student1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that a teacher can see student groups in all the user courses if the teacher is enrolled in the course.
|
||||
$this->assertCount(2, $groups['groups']); // Teacher only see groups in first course.
|
||||
$this->assertCount(1, $groups['warnings']); // Enrolment warnings.
|
||||
@@ -610,7 +614,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Enrol teacher in second course.
|
||||
$this->getDataGenerator()->enrol_user($teacher->id, $anothercourse->id, $teacherrole->id);
|
||||
$groups = core_group_external::get_course_user_groups(0, $student1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
// Check that a teacher can see student groups in all the user courses if the teacher is enrolled in the course.
|
||||
$this->assertCount(3, $groups['groups']);
|
||||
|
||||
@@ -619,20 +623,20 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Student can's see other students group.
|
||||
$groups = core_group_external::get_course_user_groups($course->id, $student2->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$this->assertCount(1, $groups['warnings']);
|
||||
$this->assertEquals('cannotmanagegroups', $groups['warnings'][0]['warningcode']);
|
||||
|
||||
// Not enrolled course.
|
||||
$groups = core_group_external::get_course_user_groups($emptycourse->id, $student2->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$this->assertCount(1, $groups['warnings']);
|
||||
$this->assertEquals('1', $groups['warnings'][0]['warningcode']);
|
||||
|
||||
$this->setUser($teacher);
|
||||
// Check user checking not enrolled in given course.
|
||||
$groups = core_group_external::get_course_user_groups($emptycourse->id, $student1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_course_user_groups_returns(), $groups);
|
||||
$this->assertCount(1, $groups['warnings']);
|
||||
$this->assertEquals('notenrolled', $groups['warnings'][0]['warningcode']);
|
||||
}
|
||||
@@ -689,19 +693,19 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
// First try possible errors.
|
||||
try {
|
||||
$data = core_group_external::get_activity_allowed_groups($cm2->id);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
try {
|
||||
$data = core_group_external::get_activity_allowed_groups($cm3->id);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
// Retrieve my groups.
|
||||
$groups = core_group_external::get_activity_allowed_groups($cm1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$this->assertCount(2, $groups['groups']);
|
||||
$this->assertFalse($groups['canaccessallgroups']);
|
||||
|
||||
@@ -718,20 +722,20 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($teacher);
|
||||
// Retrieve other users groups.
|
||||
$groups = core_group_external::get_activity_allowed_groups($cm1->id, $student->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$this->assertCount(2, $groups['groups']);
|
||||
// We are checking the $student passed as parameter so this will return false.
|
||||
$this->assertFalse($groups['canaccessallgroups']);
|
||||
|
||||
// Check warnings. Trying to get groups for a user not enrolled in course.
|
||||
$groups = core_group_external::get_activity_allowed_groups($cm1->id, $otherstudent->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$this->assertCount(1, $groups['warnings']);
|
||||
$this->assertFalse($groups['canaccessallgroups']);
|
||||
|
||||
// Checking teacher groups.
|
||||
$groups = core_group_external::get_activity_allowed_groups($cm1->id);
|
||||
$groups = external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$groups = \external_api::clean_returnvalue(core_group_external::get_activity_allowed_groups_returns(), $groups);
|
||||
$this->assertCount(2, $groups['groups']);
|
||||
// Teachers by default can access all groups.
|
||||
$this->assertTrue($groups['canaccessallgroups']);
|
||||
@@ -766,18 +770,18 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($student);
|
||||
|
||||
$data = core_group_external::get_activity_groupmode($cm1->id);
|
||||
$data = external_api::clean_returnvalue(core_group_external::get_activity_groupmode_returns(), $data);
|
||||
$data = \external_api::clean_returnvalue(core_group_external::get_activity_groupmode_returns(), $data);
|
||||
$this->assertEquals(VISIBLEGROUPS, $data['groupmode']);
|
||||
|
||||
try {
|
||||
$data = core_group_external::get_activity_groupmode($cm2->id);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
try {
|
||||
$data = core_group_external::get_activity_groupmode($cm3->id);
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -814,7 +818,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals(0, $memberstotal);
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
@@ -877,7 +881,7 @@ class core_group_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals(3, $memberstotal);
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/course:managegroups', $context->id);
|
||||
$this->assignUserCapability('moodle/course:view', $context->id, $roleid);
|
||||
|
||||
|
||||
+14
-24
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* Data generators tests
|
||||
*
|
||||
* @package core
|
||||
* @category phpunit
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace core;
|
||||
|
||||
/**
|
||||
* Test data generator
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_test_generator_testcase extends advanced_testcase {
|
||||
class testing_generator_test extends \advanced_testcase {
|
||||
public function test_get_plugin_generator_good_case() {
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
$this->assertInstanceOf('core_question_generator', $generator);
|
||||
@@ -56,7 +46,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
* Test plugin generator, with no component directory.
|
||||
*/
|
||||
public function test_get_plugin_generator_no_component_dir() {
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->expectExceptionMessage('Component core_completion does not support generators yet. Missing tests/generator/lib.php.');
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_completion');
|
||||
}
|
||||
@@ -72,8 +62,8 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$this->setCurrentTimeStart();
|
||||
$user = $generator->create_user();
|
||||
$this->assertEquals($count + 1, $DB->count_records('user'));
|
||||
$this->assertSame($user->username, core_user::clean_field($user->username, 'username'));
|
||||
$this->assertSame($user->email, core_user::clean_field($user->email, 'email'));
|
||||
$this->assertSame($user->username, \core_user::clean_field($user->username, 'username'));
|
||||
$this->assertSame($user->email, \core_user::clean_field($user->email, 'email'));
|
||||
$this->assertNotEmpty($user->firstnamephonetic);
|
||||
$this->assertNotEmpty($user->lastnamephonetic);
|
||||
$this->assertNotEmpty($user->alternatename);
|
||||
@@ -155,7 +145,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$count = $DB->count_records('cohort');
|
||||
$cohort = $generator->create_cohort();
|
||||
$this->assertEquals($count+1, $DB->count_records('cohort'));
|
||||
$this->assertEquals(context_system::instance()->id, $cohort->contextid);
|
||||
$this->assertEquals(\context_system::instance()->id, $cohort->contextid);
|
||||
$this->assertMatchesRegularExpression('/^Cohort \d/', $cohort->name);
|
||||
$this->assertSame('', $cohort->idnumber);
|
||||
$this->assertMatchesRegularExpression("/^Description for '{$cohort->name}' \\n/", $cohort->description);
|
||||
@@ -180,7 +170,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($course->id, $section->course);
|
||||
|
||||
$course = $generator->create_course(array('tags' => 'Cat, Dog'));
|
||||
$this->assertEquals(array('Cat', 'Dog'), array_values(core_tag_tag::get_item_tags_array('core', 'course', $course->id)));
|
||||
$this->assertEquals(array('Cat', 'Dog'), array_values(\core_tag_tag::get_item_tags_array('core', 'course', $course->id)));
|
||||
|
||||
$scale = $generator->create_scale();
|
||||
$this->assertNotEmpty($scale);
|
||||
@@ -210,7 +200,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
|
||||
$page = $generator->create_module('page', array('course' => $SITE->id, 'tags' => 'Cat, Dog'));
|
||||
$this->assertEquals(array('Cat', 'Dog'),
|
||||
array_values(core_tag_tag::get_item_tags_array('core', 'course_modules', $page->cmid)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('core', 'course_modules', $page->cmid)));
|
||||
|
||||
// Prepare environment to generate modules with all possible options.
|
||||
|
||||
@@ -226,7 +216,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$course = $generator->create_course(array('enablecompletion' => true));
|
||||
|
||||
// Create new grading category in this course.
|
||||
$grade_category = new grade_category();
|
||||
$grade_category = new \grade_category();
|
||||
$grade_category->courseid = $course->id;
|
||||
$grade_category->fullname = 'Grade category';
|
||||
$grade_category->insert();
|
||||
@@ -294,7 +284,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$featuregrade);
|
||||
|
||||
// We need id of the grading item for the second module to create availability dependency in the 3rd module.
|
||||
$gradingitem = grade_item::fetch(array('courseid'=>$course->id, 'itemtype'=>'mod', 'itemmodule' => 'assign', 'iteminstance' => $m3->id));
|
||||
$gradingitem = \grade_item::fetch(array('courseid'=>$course->id, 'itemtype'=>'mod', 'itemmodule' => 'assign', 'iteminstance' => $m3->id));
|
||||
|
||||
// Now prepare option to create the 4th module with an availability condition.
|
||||
$optionsavailability = array(
|
||||
@@ -333,7 +323,7 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($featurecompletionautomatic['completion'], $cm3->completion);
|
||||
$this->assertEquals($featurecompletionautomatic['completionview'], $cm3->completionview);
|
||||
$this->assertEquals(0, $cm3->completiongradeitemnumber); // Zero instead of default null since 'completionusegrade' was set.
|
||||
$gradingitem = grade_item::fetch(array('courseid'=>$course->id, 'itemtype'=>'mod', 'itemmodule' => 'assign', 'iteminstance' => $m3->id));
|
||||
$gradingitem = \grade_item::fetch(array('courseid'=>$course->id, 'itemtype'=>'mod', 'itemmodule' => 'assign', 'iteminstance' => $m3->id));
|
||||
$this->assertEquals(0, $gradingitem->grademin);
|
||||
$this->assertEquals($featuregrade['grade'], $gradingitem->grademax);
|
||||
$this->assertEquals($featuregrade['gradecat'], $gradingitem->categoryid);
|
||||
@@ -377,9 +367,9 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$course2 = $this->getDataGenerator()->create_course();
|
||||
$course3 = $this->getDataGenerator()->create_course();
|
||||
|
||||
$context1 = context_course::instance($course1->id);
|
||||
$context2 = context_course::instance($course2->id);
|
||||
$context3 = context_course::instance($course3->id);
|
||||
$context1 = \context_course::instance($course1->id);
|
||||
$context2 = \context_course::instance($course2->id);
|
||||
$context3 = \context_course::instance($course3->id);
|
||||
|
||||
$user1 = $this->getDataGenerator()->create_user();
|
||||
$user2 = $this->getDataGenerator()->create_user();
|
||||
@@ -14,6 +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/>.
|
||||
|
||||
namespace core;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->libdir . '/externallib.php');
|
||||
|
||||
/**
|
||||
* Unit tests for /lib/externallib.php.
|
||||
*
|
||||
@@ -22,14 +29,7 @@
|
||||
* @copyright 2009 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
require_once($CFG->libdir . '/externallib.php');
|
||||
|
||||
|
||||
class core_externallib_testcase extends advanced_testcase {
|
||||
class externallib_test extends \advanced_testcase {
|
||||
protected $DB;
|
||||
|
||||
public function setUp(): void {
|
||||
@@ -54,7 +54,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$currentfile = $settings->get_file();
|
||||
$currentfileurl = $settings->get_fileurl();
|
||||
|
||||
$this->assertInstanceOf('external_settings', $settings);
|
||||
$this->assertInstanceOf(\external_settings::class, $settings);
|
||||
|
||||
// Check apis.
|
||||
$settings->set_file('plugin.php');
|
||||
@@ -75,9 +75,9 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
|
||||
public function test_validate_params() {
|
||||
$params = array('text'=>'aaa', 'someid'=>'6');
|
||||
$description = new external_function_parameters(array('someid' => new external_value(PARAM_INT, 'Some int value'),
|
||||
'text' => new external_value(PARAM_ALPHA, 'Some text value')));
|
||||
$result = external_api::validate_parameters($description, $params);
|
||||
$description = new \external_function_parameters(array('someid' => new \external_value(PARAM_INT, 'Some int value'),
|
||||
'text' => new \external_value(PARAM_ALPHA, 'Some text value')));
|
||||
$result = \external_api::validate_parameters($description, $params);
|
||||
$this->assertCount(2, $result);
|
||||
reset($result);
|
||||
$this->assertSame('someid', key($result));
|
||||
@@ -85,9 +85,9 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$this->assertSame('aaa', $result['text']);
|
||||
|
||||
$params = array('someids'=>array('1', 2, 'a'=>'3'), 'scalar'=>666);
|
||||
$description = new external_function_parameters(array('someids' => new external_multiple_structure(new external_value(PARAM_INT, 'Some ID')),
|
||||
'scalar' => new external_value(PARAM_ALPHANUM, 'Some text value')));
|
||||
$result = external_api::validate_parameters($description, $params);
|
||||
$description = new \external_function_parameters(array('someids' => new \external_multiple_structure(new \external_value(PARAM_INT, 'Some ID')),
|
||||
'scalar' => new \external_value(PARAM_ALPHANUM, 'Some text value')));
|
||||
$result = \external_api::validate_parameters($description, $params);
|
||||
$this->assertCount(2, $result);
|
||||
reset($result);
|
||||
$this->assertSame('someids', key($result));
|
||||
@@ -95,9 +95,9 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$this->assertSame('666', $result['scalar']);
|
||||
|
||||
$params = array('text'=>'aaa');
|
||||
$description = new external_function_parameters(array('someid' => new external_value(PARAM_INT, 'Some int value', false),
|
||||
'text' => new external_value(PARAM_ALPHA, 'Some text value')));
|
||||
$result = external_api::validate_parameters($description, $params);
|
||||
$description = new \external_function_parameters(array('someid' => new \external_value(PARAM_INT, 'Some int value', false),
|
||||
'text' => new \external_value(PARAM_ALPHA, 'Some text value')));
|
||||
$result = \external_api::validate_parameters($description, $params);
|
||||
$this->assertCount(2, $result);
|
||||
reset($result);
|
||||
$this->assertSame('someid', key($result));
|
||||
@@ -105,9 +105,9 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$this->assertSame('aaa', $result['text']);
|
||||
|
||||
$params = array('text'=>'aaa');
|
||||
$description = new external_function_parameters(array('someid' => new external_value(PARAM_INT, 'Some int value', false, 6),
|
||||
'text' => new external_value(PARAM_ALPHA, 'Some text value')));
|
||||
$result = external_api::validate_parameters($description, $params);
|
||||
$description = new \external_function_parameters(array('someid' => new \external_value(PARAM_INT, 'Some int value', false, 6),
|
||||
'text' => new \external_value(PARAM_ALPHA, 'Some text value')));
|
||||
$result = \external_api::validate_parameters($description, $params);
|
||||
$this->assertCount(2, $result);
|
||||
reset($result);
|
||||
$this->assertSame('someid', key($result));
|
||||
@@ -116,14 +116,14 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
}
|
||||
|
||||
public function test_external_format_text() {
|
||||
$settings = external_settings::get_instance();
|
||||
$settings = \external_settings::get_instance();
|
||||
|
||||
$currentraw = $settings->get_raw();
|
||||
$currentfilter = $settings->get_filter();
|
||||
|
||||
$settings->set_raw(true);
|
||||
$settings->set_filter(false);
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
$test = '$$ \pi $$';
|
||||
$testformat = FORMAT_MARKDOWN;
|
||||
@@ -163,7 +163,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$test = '<p><a id="test"></a><a href="#test">Text</a></p>';
|
||||
$testformat = FORMAT_HTML;
|
||||
$correct = array('<p><a></a><a href="#test">Text</a></p>', FORMAT_HTML);
|
||||
$options = new StdClass();
|
||||
$options = new \stdClass();
|
||||
$options->allowid = false;
|
||||
// Function external_format_text should work with context id or context instance.
|
||||
$this->assertSame(external_format_text($test, $testformat, $context->id, 'core', '', 0, $options), $correct);
|
||||
@@ -172,7 +172,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$test = '<p><a id="test"></a><a href="#test">Text</a></p>'."\n".'Newline';
|
||||
$testformat = FORMAT_MOODLE;
|
||||
$correct = array('<p><a id="test"></a><a href="#test">Text</a></p> Newline', FORMAT_HTML);
|
||||
$options = new StdClass();
|
||||
$options = new \stdClass();
|
||||
$options->newlines = false;
|
||||
// Function external_format_text should work with context id or context instance.
|
||||
$this->assertSame(external_format_text($test, $testformat, $context->id, 'core', '', 0, $options), $correct);
|
||||
@@ -181,7 +181,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$test = '<p><a id="test"></a><a href="#test">Text</a></p>';
|
||||
$testformat = FORMAT_MOODLE;
|
||||
$correct = array('<div class="text_to_html">'.$test.'</div>', FORMAT_HTML);
|
||||
$options = new StdClass();
|
||||
$options = new \stdClass();
|
||||
$options->para = true;
|
||||
// Function external_format_text should work with context id or context instance.
|
||||
$this->assertSame(external_format_text($test, $testformat, $context->id, 'core', '', 0, $options), $correct);
|
||||
@@ -190,7 +190,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$test = '<p><a id="test"></a><a href="#test">Text</a></p>';
|
||||
$testformat = FORMAT_MOODLE;
|
||||
$correct = array($test, FORMAT_HTML);
|
||||
$options = new StdClass();
|
||||
$options = new \stdClass();
|
||||
$options->context = $context;
|
||||
// Function external_format_text should work with context id or context instance.
|
||||
$this->assertSame(external_format_text($test, $testformat, $context->id, 'core', '', 0, $options), $correct);
|
||||
@@ -202,19 +202,19 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
|
||||
public function test_external_format_string() {
|
||||
$this->resetAfterTest();
|
||||
$settings = external_settings::get_instance();
|
||||
$settings = \external_settings::get_instance();
|
||||
$currentraw = $settings->get_raw();
|
||||
$currentfilter = $settings->get_filter();
|
||||
|
||||
// Enable multilang filter to on content and heading.
|
||||
filter_set_global_state('multilang', TEXTFILTER_ON);
|
||||
filter_set_applies_to_strings('multilang', 1);
|
||||
$filtermanager = filter_manager::instance();
|
||||
$filtermanager = \filter_manager::instance();
|
||||
$filtermanager->reset_caches();
|
||||
|
||||
$settings->set_raw(true);
|
||||
$settings->set_filter(true);
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
|
||||
$test = '<span lang="en" class="multilang">EN</span><span lang="fr" class="multilang">FR</span> ' .
|
||||
'<script>hi</script> <h3>there</h3>!';
|
||||
@@ -261,18 +261,18 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
*/
|
||||
public function test_clean_returnvalue_return_php_type() {
|
||||
|
||||
$returndesc = new external_single_structure(
|
||||
$returndesc = new \external_single_structure(
|
||||
array(
|
||||
'value' => new external_value(PARAM_RAW, 'Some text', VALUE_OPTIONAL, null, NULL_NOT_ALLOWED)
|
||||
'value' => new \external_value(PARAM_RAW, 'Some text', VALUE_OPTIONAL, null, NULL_NOT_ALLOWED)
|
||||
)
|
||||
);
|
||||
|
||||
// Check return type on exception because the external values does not allow NULL values.
|
||||
$testdata = array('value' => null);
|
||||
try {
|
||||
$cleanedvalue = external_api::clean_returnvalue($returndesc, $testdata);
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_response_exception', $e);
|
||||
$cleanedvalue = \external_api::clean_returnvalue($returndesc, $testdata);
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf(\invalid_response_exception::class, $e);
|
||||
$this->assertStringContainsString('of PHP type "NULL"', $e->debuginfo);
|
||||
}
|
||||
}
|
||||
@@ -283,32 +283,32 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
public function test_clean_returnvalue() {
|
||||
|
||||
// Build some return value decription.
|
||||
$returndesc = new external_multiple_structure(
|
||||
new external_single_structure(
|
||||
$returndesc = new \external_multiple_structure(
|
||||
new \external_single_structure(
|
||||
array(
|
||||
'object' => new external_single_structure(
|
||||
array('value1' => new external_value(PARAM_INT, 'this is a int'))),
|
||||
'value2' => new external_value(PARAM_TEXT, 'some text', VALUE_OPTIONAL))
|
||||
'object' => new \external_single_structure(
|
||||
array('value1' => new \external_value(PARAM_INT, 'this is a int'))),
|
||||
'value2' => new \external_value(PARAM_TEXT, 'some text', VALUE_OPTIONAL))
|
||||
));
|
||||
|
||||
// Clean an object (it should be cast into an array).
|
||||
$object = new stdClass();
|
||||
$object = new \stdClass();
|
||||
$object->value1 = 1;
|
||||
$singlestructure['object'] = $object;
|
||||
$singlestructure['value2'] = 'Some text';
|
||||
$testdata = array($singlestructure);
|
||||
$cleanedvalue = external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedvalue = \external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedsinglestructure = array_pop($cleanedvalue);
|
||||
$this->assertSame($object->value1, $cleanedsinglestructure['object']['value1']);
|
||||
$this->assertSame($singlestructure['value2'], $cleanedsinglestructure['value2']);
|
||||
|
||||
// Missing VALUE_OPTIONAL.
|
||||
$object = new stdClass();
|
||||
$object = new \stdClass();
|
||||
$object->value1 = 1;
|
||||
$singlestructure = new stdClass();
|
||||
$singlestructure = new \stdClass();
|
||||
$singlestructure->object = $object;
|
||||
$testdata = array($singlestructure);
|
||||
$cleanedvalue = external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedvalue = \external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedsinglestructure = array_pop($cleanedvalue);
|
||||
$this->assertSame($object->value1, $cleanedsinglestructure['object']['value1']);
|
||||
$this->assertArrayNotHasKey('value2', $cleanedsinglestructure);
|
||||
@@ -321,7 +321,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$singlestructure['value2'] = 'Some text';
|
||||
$singlestructure['unknownvalue'] = 'Some text to ignore';
|
||||
$testdata = array($singlestructure);
|
||||
$cleanedvalue = external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedvalue = \external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedsinglestructure = array_pop($cleanedvalue);
|
||||
$this->assertSame($object['value1'], $cleanedsinglestructure['object']['value1']);
|
||||
$this->assertSame($singlestructure['value2'], $cleanedsinglestructure['value2']);
|
||||
@@ -334,15 +334,15 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$singlestructure['value2'] = 'Some text';
|
||||
$testdata = array($singlestructure);
|
||||
$this->expectException('invalid_response_exception');
|
||||
$cleanedvalue = external_api::clean_returnvalue($returndesc, $testdata);
|
||||
$cleanedvalue = \external_api::clean_returnvalue($returndesc, $testdata);
|
||||
}
|
||||
/*
|
||||
* Test external_api::get_context_from_params().
|
||||
* Test \external_api::get_context_from_params().
|
||||
*/
|
||||
public function test_get_context_from_params() {
|
||||
$this->resetAfterTest(true);
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$realcontext = context_course::instance($course->id);
|
||||
$realcontext = \context_course::instance($course->id);
|
||||
|
||||
// Use context id.
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextid" => $realcontext->id));
|
||||
@@ -356,26 +356,26 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
try {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextid" => 0));
|
||||
$this->fail('Exception expected from get_context_wrapper()');
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_parameter_exception', $e);
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf(\invalid_parameter_exception::class, $e);
|
||||
}
|
||||
|
||||
try {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("instanceid" => 0));
|
||||
$this->fail('Exception expected from get_context_wrapper()');
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_parameter_exception', $e);
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf(\invalid_parameter_exception::class, $e);
|
||||
}
|
||||
|
||||
try {
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextid" => null));
|
||||
$this->fail('Exception expected from get_context_wrapper()');
|
||||
} catch (moodle_exception $e) {
|
||||
$this->assertInstanceOf('invalid_parameter_exception', $e);
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf(\invalid_parameter_exception::class, $e);
|
||||
}
|
||||
|
||||
// Tests for context with instanceid equal to 0 (System context).
|
||||
$realcontext = context_system::instance();
|
||||
$realcontext = \context_system::instance();
|
||||
$fetchedcontext = test_exernal_api::get_context_wrapper(array("contextlevel" => "system", "instanceid" => 0));
|
||||
$this->assertEquals($realcontext, $fetchedcontext);
|
||||
|
||||
@@ -385,7 +385,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
}
|
||||
|
||||
/*
|
||||
* Test external_api::get_context()_from_params parameter validation.
|
||||
* Test \external_api::get_context()_from_params parameter validation.
|
||||
*/
|
||||
public function test_get_context_params() {
|
||||
global $USER;
|
||||
@@ -396,7 +396,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
}
|
||||
|
||||
/*
|
||||
* Test external_api::get_context()_from_params parameter validation.
|
||||
* Test \external_api::get_context()_from_params parameter validation.
|
||||
*/
|
||||
public function test_get_context_params2() {
|
||||
global $USER;
|
||||
@@ -407,7 +407,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
}
|
||||
|
||||
/*
|
||||
* Test external_api::get_context()_from_params parameter validation.
|
||||
* Test \external_api::get_context()_from_params parameter validation.
|
||||
*/
|
||||
public function test_get_context_params3() {
|
||||
global $USER;
|
||||
@@ -437,14 +437,14 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
* @dataProvider all_external_info_provider
|
||||
*/
|
||||
public function test_all_external_info($f) {
|
||||
$desc = external_api::external_function_info($f);
|
||||
$desc = \external_api::external_function_info($f);
|
||||
$this->assertNotEmpty($desc->name);
|
||||
$this->assertNotEmpty($desc->classname);
|
||||
$this->assertNotEmpty($desc->methodname);
|
||||
$this->assertEquals($desc->component, clean_param($desc->component, PARAM_COMPONENT));
|
||||
$this->assertInstanceOf('external_function_parameters', $desc->parameters_desc);
|
||||
$this->assertInstanceOf(\external_function_parameters::class, $desc->parameters_desc);
|
||||
if ($desc->returns_desc != null) {
|
||||
$this->assertInstanceOf('external_description', $desc->returns_desc);
|
||||
$this->assertInstanceOf(\external_description::class, $desc->returns_desc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,7 +459,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$courseids = array($c1->id, $c2->id, $c3->id);
|
||||
|
||||
$this->setAdminUser();
|
||||
list($courses, $warnings) = external_util::validate_courses($courseids);
|
||||
list($courses, $warnings) = \external_util::validate_courses($courseids);
|
||||
$this->assertEmpty($warnings);
|
||||
$this->assertCount(3, $courses);
|
||||
$this->assertArrayHasKey($c1->id, $courses);
|
||||
@@ -470,7 +470,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$this->assertEquals($c3->id, $courses[$c3->id]->id);
|
||||
|
||||
$this->setUser($u1);
|
||||
list($courses, $warnings) = external_util::validate_courses($courseids);
|
||||
list($courses, $warnings) = \external_util::validate_courses($courseids);
|
||||
$this->assertCount(2, $warnings);
|
||||
$this->assertEquals($c2->id, $warnings[0]['itemid']);
|
||||
$this->assertEquals($c3->id, $warnings[1]['itemid']);
|
||||
@@ -495,7 +495,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$courseids = array($c1->id, $c2->id, $c3->id);
|
||||
|
||||
$this->setUser($u1);
|
||||
list($courses, $warnings) = external_util::validate_courses($courseids, [], false, true);
|
||||
list($courses, $warnings) = \external_util::validate_courses($courseids, [], false, true);
|
||||
$this->assertCount(2, $warnings);
|
||||
$this->assertEquals($c2->id, $warnings[0]['itemid']);
|
||||
$this->assertEquals($c3->id, $warnings[1]['itemid']);
|
||||
@@ -523,7 +523,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$courses = array($c2->id => $c2, $c3->id => $c3, $c4->id => $c4);
|
||||
|
||||
$this->setUser($u1);
|
||||
list($courses, $warnings) = external_util::validate_courses($courseids, $courses);
|
||||
list($courses, $warnings) = \external_util::validate_courses($courseids, $courses);
|
||||
$this->assertCount(2, $courses);
|
||||
$this->assertCount(1, $warnings);
|
||||
$this->assertArrayHasKey($c1->id, $courses);
|
||||
@@ -544,7 +544,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
$category = $this->getDataGenerator()->create_category();
|
||||
$params = array(
|
||||
'contextid' => context_coursecat::instance($category->id)->id,
|
||||
'contextid' => \context_coursecat::instance($category->id)->id,
|
||||
'name' => 'aaagrrryyy',
|
||||
'idnumber' => '',
|
||||
'description' => ''
|
||||
@@ -555,7 +555,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$beforepage = $PAGE;
|
||||
$beforecourse = $COURSE;
|
||||
$params = array('cohortids' => array($cohort1->id, $cohort2->id));
|
||||
$result = external_api::call_external_function('core_cohort_get_cohorts', $params);
|
||||
$result = \external_api::call_external_function('core_cohort_get_cohorts', $params);
|
||||
|
||||
$this->assertSame($beforepage, $PAGE);
|
||||
$this->assertSame($beforecourse, $COURSE);
|
||||
@@ -566,7 +566,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
$beforepage = $PAGE;
|
||||
$beforecourse = $COURSE;
|
||||
$params = array('courseid' => $course->id, 'options' => array());
|
||||
$result = external_api::call_external_function('core_enrol_get_enrolled_users', $params);
|
||||
$result = \external_api::call_external_function('core_enrol_get_enrolled_users', $params);
|
||||
|
||||
$this->assertSame($beforepage, $PAGE);
|
||||
$this->assertSame($beforecourse, $COURSE);
|
||||
@@ -575,7 +575,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
require_once($CFG->dirroot . '/lib/tests/fixtures/test_external_function_throwable.php');
|
||||
|
||||
// Call our test function.
|
||||
$result = test_external_function_throwable::call_external_function('core_throw_exception', array(), false);
|
||||
$result = \test_external_function_throwable::call_external_function('core_throw_exception', array(), false);
|
||||
|
||||
$this->assertTrue($result['error']);
|
||||
$this->assertArrayHasKey('exception', $result);
|
||||
@@ -583,7 +583,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Text external_util::get_area_files
|
||||
* Text \external_util::get_area_files
|
||||
*/
|
||||
public function test_external_util_get_area_files() {
|
||||
global $CFG, $DB;
|
||||
@@ -622,7 +622,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
'isexternalfile' => false,
|
||||
);
|
||||
// Get all the files for the area.
|
||||
$files = external_util::get_area_files($context, $component, $filearea, false);
|
||||
$files = \external_util::get_area_files($context, $component, $filearea, false);
|
||||
$this->assertEquals($expectedfiles, $files);
|
||||
|
||||
$DB->method('get_in_or_equal')->willReturn([
|
||||
@@ -631,7 +631,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
]);
|
||||
|
||||
// Get just the file indicated by $itemid.
|
||||
$files = external_util::get_area_files($context, $component, $filearea, $itemid);
|
||||
$files = \external_util::get_area_files($context, $component, $filearea, $itemid);
|
||||
$this->assertEquals($expectedfiles, $files);
|
||||
|
||||
}
|
||||
@@ -641,7 +641,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
*/
|
||||
public function test_external_files() {
|
||||
|
||||
$description = new external_files();
|
||||
$description = new \external_files();
|
||||
|
||||
// First check that the expected default values and keys are returned.
|
||||
$expectedkeys = array_flip(array('filename', 'filepath', 'filesize', 'fileurl', 'timemodified', 'mimetype',
|
||||
@@ -686,7 +686,7 @@ class core_externallib_testcase extends advanced_testcase {
|
||||
/*
|
||||
* Just a wrapper to access protected apis for testing
|
||||
*/
|
||||
class test_exernal_api extends external_api {
|
||||
class test_exernal_api extends \external_api {
|
||||
|
||||
public static function get_context_wrapper($params) {
|
||||
return self::get_context_from_params($params);
|
||||
|
||||
@@ -14,14 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External airnotifier functions unit tests
|
||||
*
|
||||
* @package message_airnotifier
|
||||
* @category external
|
||||
* @copyright 2012 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace message_airnotifier;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use message_airnotifier_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -37,7 +33,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @copyright 2012 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class message_airnotifier_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Tests set up
|
||||
@@ -60,7 +56,7 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
|
||||
// In a clean installation, it should be not configured.
|
||||
$configured = message_airnotifier_external::is_system_configured();
|
||||
$configured = external_api::clean_returnvalue(message_airnotifier_external::is_system_configured_returns(), $configured);
|
||||
$configured = \external_api::clean_returnvalue(message_airnotifier_external::is_system_configured_returns(), $configured);
|
||||
$this->assertEquals(0, $configured);
|
||||
|
||||
// Fake configuration.
|
||||
@@ -69,7 +65,7 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
$DB->set_field('message_processors', 'enabled', 1, array('name' => 'airnotifier'));
|
||||
|
||||
$configured = message_airnotifier_external::is_system_configured();
|
||||
$configured = external_api::clean_returnvalue(message_airnotifier_external::is_system_configured_returns(), $configured);
|
||||
$configured = \external_api::clean_returnvalue(message_airnotifier_external::is_system_configured_returns(), $configured);
|
||||
$this->assertEquals(1, $configured);
|
||||
}
|
||||
|
||||
@@ -95,7 +91,7 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
|
||||
$preferences = message_airnotifier_external::are_notification_preferences_configured($params);
|
||||
$returnsdescription = message_airnotifier_external::are_notification_preferences_configured_returns();
|
||||
$preferences = external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$preferences = \external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
|
||||
$expected = array(
|
||||
array(
|
||||
@@ -111,7 +107,7 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
// Now, remove one user.
|
||||
delete_user($user2);
|
||||
$preferences = message_airnotifier_external::are_notification_preferences_configured($params);
|
||||
$preferences = external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$preferences = \external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$this->assertEquals(1, count($preferences['users']));
|
||||
$this->assertEquals($expected, $preferences['users']);
|
||||
$this->assertEquals(2, count($preferences['warnings']));
|
||||
@@ -119,13 +115,13 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
// Now, remove one user1 preference (the user still has one prefernce for airnotifier).
|
||||
unset_user_preference('message_provider_moodle_instantmessage_loggedin', $user1);
|
||||
$preferences = message_airnotifier_external::are_notification_preferences_configured($params);
|
||||
$preferences = external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$preferences = \external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$this->assertEquals($expected, $preferences['users']);
|
||||
|
||||
// Delete the last user1 preference.
|
||||
unset_user_preference('message_provider_moodle_instantmessage_loggedoff', $user1);
|
||||
$preferences = message_airnotifier_external::are_notification_preferences_configured($params);
|
||||
$preferences = external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$preferences = \external_api::clean_returnvalue($returnsdescription, $preferences);
|
||||
$expected = array(
|
||||
array(
|
||||
'userid' => $user1->id,
|
||||
@@ -147,7 +143,7 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
|
||||
// System not configured.
|
||||
$devices = message_airnotifier_external::get_user_devices('');
|
||||
$devices = external_api::clean_returnvalue(message_airnotifier_external::get_user_devices_returns(), $devices);
|
||||
$devices = \external_api::clean_returnvalue(message_airnotifier_external::get_user_devices_returns(), $devices);
|
||||
$this->assertCount(1, $devices['warnings']);
|
||||
$this->assertEquals('systemnotconfigured', $devices['warnings'][0]['warningcode']);
|
||||
|
||||
@@ -158,7 +154,7 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
|
||||
// Get devices.
|
||||
$devices = message_airnotifier_external::get_user_devices('');
|
||||
$devices = external_api::clean_returnvalue(message_airnotifier_external::get_user_devices_returns(), $devices);
|
||||
$devices = \external_api::clean_returnvalue(message_airnotifier_external::get_user_devices_returns(), $devices);
|
||||
$this->assertCount(0, $devices['warnings']);
|
||||
// No devices, unfortunatelly we cannot create devices (we can't mock airnotifier server).
|
||||
$this->assertCount(0, $devices['devices']);
|
||||
@@ -213,13 +209,13 @@ class message_airnotifier_external_testcase extends externallib_advanced_testcas
|
||||
|
||||
// Disable and enable.
|
||||
$result = message_airnotifier_external::enable_device($airnotifierdevid, false);
|
||||
$result = external_api::clean_returnvalue(message_airnotifier_external::enable_device_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(message_airnotifier_external::enable_device_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertTrue($result['success']);
|
||||
$this->assertEquals(0, $DB->get_field('message_airnotifier_devices', 'enable', array('id' => $airnotifierdevid)));
|
||||
|
||||
$result = message_airnotifier_external::enable_device($airnotifierdevid, true);
|
||||
$result = external_api::clean_returnvalue(message_airnotifier_external::enable_device_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(message_airnotifier_external::enable_device_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertTrue($result['success']);
|
||||
$this->assertEquals(1, $DB->get_field('message_airnotifier_devices', 'enable', array('id' => $airnotifierdevid)));
|
||||
|
||||
@@ -14,13 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External message popup functions unit tests
|
||||
*
|
||||
* @package message_popup
|
||||
* @copyright 2016 Ryan Wyllie <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace message_popup;
|
||||
|
||||
use message_popup_external;
|
||||
use message_popup_test_helper;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -33,10 +30,11 @@ require_once($CFG->dirroot . '/message/output/popup/tests/base.php');
|
||||
/**
|
||||
* Class for external message popup functions unit tests.
|
||||
*
|
||||
* @package message_popup
|
||||
* @copyright 2016 Ryan Wyllie <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class message_popup_externallib_testcase extends advanced_testcase {
|
||||
class externallib_test extends \advanced_testcase {
|
||||
use message_popup_test_helper;
|
||||
|
||||
/**
|
||||
|
||||
+188
-185
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_book functions unit tests
|
||||
*
|
||||
* @package mod_book
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_book;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_book_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test view_book
|
||||
@@ -57,14 +52,14 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
$chapter = $bookgenerator->create_chapter(array('bookid' => $book->id));
|
||||
$chapterhidden = $bookgenerator->create_chapter(array('bookid' => $book->id, 'hidden' => 1));
|
||||
|
||||
$context = context_module::instance($book->cmid);
|
||||
$context = \context_module::instance($book->cmid);
|
||||
$cm = get_coursemodule_from_instance('book', $book->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_book_external::view_book(0);
|
||||
$this->fail('Exception expected due to invalid mod_book instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -74,7 +69,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_book_external::view_book($book->id, 0);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -86,7 +81,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_book_external::view_book($book->id, 0);
|
||||
$result = external_api::clean_returnvalue(mod_book_external::view_book_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_book_external::view_book_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(2, $events);
|
||||
@@ -105,7 +100,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals($chapter->id, $event->objectid);
|
||||
|
||||
$result = mod_book_external::view_book($book->id, $chapter->id);
|
||||
$result = external_api::clean_returnvalue(mod_book_external::view_book_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_book_external::view_book_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
// We expect a total of 3 events.
|
||||
@@ -115,7 +110,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_book_external::view_book($book->id, $chapterhidden->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('errorchapter', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -127,7 +122,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_book_external::view_book($book->id, 0);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -161,7 +156,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$books = mod_book_external::get_books_by_courses();
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$books = external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$books = \external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$this->assertCount(1, $books['books']);
|
||||
$this->assertEquals('First Book', $books['books'][0]['name']);
|
||||
// We see 10 fields.
|
||||
@@ -173,7 +168,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
// Student1 is not enrolled in course2. The webservice will return a warning!
|
||||
$books = mod_book_external::get_books_by_courses(array($course2->id));
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$books = external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$books = \external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$this->assertCount(0, $books['books']);
|
||||
$this->assertEquals(1, $books['warnings'][0]['warningcode']);
|
||||
|
||||
@@ -182,7 +177,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
// As Admin we can see this book.
|
||||
$books = mod_book_external::get_books_by_courses(array($course2->id));
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$books = external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$books = \external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
|
||||
$this->assertCount(1, $books['books']);
|
||||
$this->assertEquals('Second Book', $books['books'][0]['name']);
|
||||
@@ -195,7 +190,7 @@ class mod_book_external_testcase extends externallib_advanced_testcase {
|
||||
self::getDataGenerator()->enrol_user($student1->id, $course2->id, $studentrole->id);
|
||||
$this->setUser($student1);
|
||||
$books = mod_book_external::get_books_by_courses();
|
||||
$books = external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$books = \external_api::clean_returnvalue(mod_book_external::get_books_by_courses_returns(), $books);
|
||||
$this->assertCount(2, $books['books']);
|
||||
|
||||
}
|
||||
|
||||
@@ -14,22 +14,16 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Genarator tests.
|
||||
*
|
||||
* @package mod_book
|
||||
* @copyright 2013 Frédéric Massart
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_book;
|
||||
|
||||
/**
|
||||
* Genarator tests class.
|
||||
* Generator tests class.
|
||||
*
|
||||
* @package mod_book
|
||||
* @copyright 2013 Frédéric Massart
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_book_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
@@ -68,7 +62,7 @@ class mod_book_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('Oops', $DB->get_field_select('book_chapters', 'title', 'id = :id', array('id' => $chapter->id)));
|
||||
$this->assertEquals('Yay!', $DB->get_field_select('book_chapters', 'content', 'id = :id', array('id' => $chapter->id)));
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_book', 'book_chapters', $chapter->id)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_book', 'book_chapters', $chapter->id)));
|
||||
|
||||
$chapter = $bookgenerator->create_content($book);
|
||||
$this->assertEquals(3, $DB->count_records('book_chapters', array('bookid' => $book->id)));
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_chat functions unit tests
|
||||
*
|
||||
* @package mod_chat
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_chat;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_chat_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test login user
|
||||
@@ -60,7 +55,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($user->id, $course->id, $studentrole->id);
|
||||
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
|
||||
// Test session started.
|
||||
$sid = $DB->get_field('chat_users', 'sid', array('userid' => $user->id, 'chatid' => $chat->id));
|
||||
@@ -90,15 +85,15 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($user2->id, $course->id, $studentrole->id);
|
||||
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
|
||||
$this->setUser($user2);
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
|
||||
// Get users.
|
||||
$result = mod_chat_external::get_chat_users($result['chatsid']);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_chat_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_chat_users_returns(), $result);
|
||||
|
||||
// Check correct users.
|
||||
$this->assertCount(2, $result['users']);
|
||||
@@ -131,16 +126,16 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($user->id, $course->id, $studentrole->id);
|
||||
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$chatsid = $result['chatsid'];
|
||||
|
||||
$result = mod_chat_external::send_chat_message($chatsid, 'hello!');
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
|
||||
// Test messages received.
|
||||
|
||||
$result = mod_chat_external::get_chat_latest_messages($chatsid, 0);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_chat_latest_messages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_chat_latest_messages_returns(), $result);
|
||||
|
||||
foreach ($result['messages'] as $message) {
|
||||
// Ommit system messages, like user just joined in.
|
||||
@@ -163,14 +158,14 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$chat = $this->getDataGenerator()->create_module('chat', array('course' => $course->id));
|
||||
$context = context_module::instance($chat->cmid);
|
||||
$context = \context_module::instance($chat->cmid);
|
||||
$cm = get_coursemodule_from_instance('chat', $chat->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_chat_external::view_chat(0);
|
||||
$this->fail('Exception expected due to invalid mod_chat instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -180,7 +175,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_chat_external::view_chat($chat->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -192,7 +187,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_chat_external::view_chat($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::view_chat_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::view_chat_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -214,7 +209,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_chat_external::view_chat($chat->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -251,7 +246,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$chats = mod_chat_external::get_chats_by_courses();
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$chats = external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$chats = \external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$this->assertCount(1, $chats['chats']);
|
||||
$this->assertEquals('First Chat', $chats['chats'][0]['name']);
|
||||
// We see 12 fields.
|
||||
@@ -263,7 +258,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
// Student1 is not enrolled in course2. The webservice will return a warning!
|
||||
$chats = mod_chat_external::get_chats_by_courses(array($course2->id));
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$chats = external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$chats = \external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$this->assertCount(0, $chats['chats']);
|
||||
$this->assertEquals(1, $chats['warnings'][0]['warningcode']);
|
||||
|
||||
@@ -272,7 +267,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
// As Admin we can see this chat.
|
||||
$chats = mod_chat_external::get_chats_by_courses(array($course2->id));
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$chats = external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$chats = \external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
|
||||
$this->assertCount(1, $chats['chats']);
|
||||
$this->assertEquals('Second Chat', $chats['chats'][0]['name']);
|
||||
@@ -286,7 +281,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
self::getDataGenerator()->enrol_user($student1->id, $course2->id, $studentrole->id);
|
||||
$this->setUser($student1);
|
||||
$chats = mod_chat_external::get_chats_by_courses();
|
||||
$chats = external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$chats = \external_api::clean_returnvalue(mod_chat_external::get_chats_by_courses_returns(), $chats);
|
||||
$this->assertCount(2, $chats['chats']);
|
||||
|
||||
}
|
||||
@@ -305,7 +300,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$chat = $this->getDataGenerator()->create_module('chat', array('course' => $course->id));
|
||||
|
||||
$result = mod_chat_external::get_sessions($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$this->assertEmpty($result['sessions']);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
}
|
||||
@@ -326,7 +321,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
$chat = $this->getDataGenerator()->create_module('chat', array('course' => $course->id, 'studentlogs' => 0));
|
||||
// The admin has permissions to check logs.
|
||||
$result = mod_chat_external::get_sessions($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$this->assertEmpty($result['sessions']);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
|
||||
@@ -362,20 +357,20 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Start a chat and send just one message.
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$chatsid = $result['chatsid'];
|
||||
$result = mod_chat_external::send_chat_message($chatsid, 'hello!');
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
|
||||
// Check session is not marked as completed so it is not returned.
|
||||
$result = mod_chat_external::get_sessions($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$this->assertEmpty($result['sessions']);
|
||||
$this->assertEmpty($result['warnings']);
|
||||
|
||||
// Pass showall parameter to indicate that we want not completed sessions.
|
||||
$result = mod_chat_external::get_sessions($chat->id, 0, true);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$this->assertCount(1, $result['sessions']); // One session.
|
||||
$this->assertFalse($result['sessions'][0]['iscomplete']); // Session not complete.
|
||||
$this->assertEmpty($result['warnings']);
|
||||
@@ -403,16 +398,16 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
// Start a chat and completeit.
|
||||
$this->setUser($user1);
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$chatsid = $result['chatsid'];
|
||||
$result = mod_chat_external::send_chat_message($chatsid, 'hello!');
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
$this->setUser($user2);
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$chatsid = $result['chatsid'];
|
||||
$result = mod_chat_external::send_chat_message($chatsid, 'hello to you!');
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::send_chat_message_returns(), $result);
|
||||
// Need to change first messages and last message times to mark the session completed.
|
||||
// We receive 4 messages (2 system messages that indicates user joined and the 2 messages sent by the users).
|
||||
$messages = $DB->get_records('chat_messages', array('chatid' => $chat->id));
|
||||
@@ -425,7 +420,7 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
// Check session is completed.
|
||||
$result = mod_chat_external::get_sessions($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$this->assertCount(1, $result['sessions']); // One session.
|
||||
$this->assertTrue($result['sessions'][0]['iscomplete']); // Session complete.
|
||||
// The session started when user1 entered the chat.
|
||||
@@ -455,26 +450,26 @@ class mod_chat_external_testcase extends externallib_advanced_testcase {
|
||||
// Start a chat and send a few messages.
|
||||
$this->setUser($user1);
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$chatsid = $result['chatsid'];
|
||||
mod_chat_external::send_chat_message($chatsid, 'hello!');
|
||||
mod_chat_external::send_chat_message($chatsid, 'bye bye!');
|
||||
|
||||
$this->setUser($user2);
|
||||
$result = mod_chat_external::login_user($chat->id);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::login_user_returns(), $result);
|
||||
$chatsid = $result['chatsid'];
|
||||
mod_chat_external::send_chat_message($chatsid, 'greetings!');
|
||||
|
||||
// Pass showall parameter to indicate that we want not completed sessions.
|
||||
$result = mod_chat_external::get_sessions($chat->id, 0, true);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_sessions_returns(), $result);
|
||||
$this->assertCount(1, $result['sessions']); // One session.
|
||||
|
||||
$sessionstart = $result['sessions'][0]['sessionstart'];
|
||||
$sessionend = $result['sessions'][0]['sessionend'];
|
||||
$result = mod_chat_external::get_session_messages($chat->id, $sessionstart, $sessionend);
|
||||
$result = external_api::clean_returnvalue(mod_chat_external::get_session_messages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_chat_external::get_session_messages_returns(), $result);
|
||||
$this->assertCount(5, $result['messages']); // 2 system + 3 personal messages.
|
||||
$found = 0;
|
||||
foreach ($result['messages'] as $message) {
|
||||
|
||||
@@ -14,22 +14,16 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Genarator tests.
|
||||
*
|
||||
* @package mod_chat
|
||||
* @copyright 2013 Frédéric Massart
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_chat;
|
||||
|
||||
/**
|
||||
* Genarator tests class.
|
||||
* Generator tests class.
|
||||
*
|
||||
* @package mod_chat
|
||||
* @copyright 2013 Frédéric Massart
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_chat_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
|
||||
@@ -14,14 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External choice functions unit tests
|
||||
*
|
||||
* @package mod_choice
|
||||
* @category external
|
||||
* @copyright 2015 Costantino Cito <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_choice;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_choice_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -38,7 +34,7 @@ require_once($CFG->dirroot . '/mod/choice/lib.php');
|
||||
* @copyright 2015 Costantino Cito <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test get_choice_results
|
||||
@@ -49,7 +45,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$params = new stdClass();
|
||||
$params = new \stdClass();
|
||||
$params->course = $course->id;
|
||||
$params->option = array('fried rice', 'spring rolls', 'sweet and sour pork', 'satay beef', 'gyouza');
|
||||
$params->name = 'First Choice Activity';
|
||||
@@ -75,7 +71,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
choice_user_submit_response($myanswer, $choice, $student1->id, $course, $cm);
|
||||
$results = mod_choice_external::get_choice_results($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
|
||||
// Create an array with optionID as Key.
|
||||
$resultsarr = array();
|
||||
@@ -91,7 +87,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($student2);
|
||||
$results = mod_choice_external::get_choice_results($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
// We do not retrieve any response!
|
||||
foreach ($results['options'] as $option) {
|
||||
$this->assertCount(0, $option['userresponses']);
|
||||
@@ -107,7 +103,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$results = mod_choice_external::get_choice_results($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
// We do not retrieve any response (activity is still open).
|
||||
foreach ($results['options'] as $option) {
|
||||
$this->assertCount(0, $option['userresponses']);
|
||||
@@ -119,7 +115,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Now as Stundent2 we will see results!
|
||||
$results = mod_choice_external::get_choice_results($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
// Create an array with optionID as Key.
|
||||
$resultsarr = array();
|
||||
foreach ($results['options'] as $option) {
|
||||
@@ -135,7 +131,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$DB->update_record('choice', $choice);
|
||||
$results = mod_choice_external::get_choice_results($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_results_returns(), $results);
|
||||
// Create an array with optionID as Key.
|
||||
$resultsarr = array();
|
||||
// Does not show any user response!
|
||||
@@ -181,7 +177,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$results = mod_choice_external::get_choice_options($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
// We should retrieve all options.
|
||||
$this->assertCount(count($possibleoptions), $results['options']);
|
||||
|
||||
@@ -192,7 +188,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$results = mod_choice_external::get_choice_options($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
// We should retrieve no options.
|
||||
$this->assertCount(0, $results['options']);
|
||||
$this->assertEquals($notopenyet, $results['warnings'][0]['warningcode']);
|
||||
@@ -202,7 +198,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$DB->update_record('choice', $choice);
|
||||
$results = mod_choice_external::get_choice_options($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
// We should retrieve all options.
|
||||
$this->assertCount(count($possibleoptions), $results['options']);
|
||||
|
||||
@@ -229,7 +225,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$results = mod_choice_external::get_choice_options($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
// We should retrieve all options.
|
||||
$this->assertCount(count($possibleoptions), $results['options']);
|
||||
foreach ($results['options'] as $option) {
|
||||
@@ -249,7 +245,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$DB->update_record('choice', $choice);
|
||||
$results = mod_choice_external::get_choice_options($choice->id);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::get_choice_options_returns(), $results);
|
||||
// We should retrieve no options.
|
||||
$this->assertCount(0, $results['options']);
|
||||
$this->assertEquals($expired, $results['warnings'][0]['warningcode']);
|
||||
@@ -265,7 +261,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$params = new stdClass();
|
||||
$params = new \stdClass();
|
||||
$params->course = $course->id;
|
||||
$params->option = array('fried rice', 'spring rolls', 'sweet and sour pork', 'satay beef', 'gyouza');
|
||||
$params->name = 'First Choice Activity';
|
||||
@@ -286,7 +282,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$myresponse = $options[2];
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($myresponse));
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$myanswers = $DB->get_records('choice_answers', array('choiceid' => $choice->id, 'userid' => $student1->id));
|
||||
$myanswer = reset($myanswers);
|
||||
$this->assertEquals($results['answers'][0]['id'], $myanswer->id);
|
||||
@@ -306,14 +302,14 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$choice = $this->getDataGenerator()->create_module('choice', array('course' => $course->id));
|
||||
$context = context_module::instance($choice->cmid);
|
||||
$context = \context_module::instance($choice->cmid);
|
||||
$cm = get_coursemodule_from_instance('choice', $choice->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_choice_external::view_choice(0);
|
||||
$this->fail('Exception expected due to invalid mod_choice instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidcoursemodule', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -323,7 +319,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_choice_external::view_choice($choice->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -335,7 +331,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_choice_external::view_choice($choice->id);
|
||||
$result = external_api::clean_returnvalue(mod_choice_external::view_choice_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_choice_external::view_choice_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -381,7 +377,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($student1);
|
||||
$choices = mod_choice_external::get_choices_by_courses(array());
|
||||
$choices = external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$choices = \external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$this->assertCount(1, $choices['choices']);
|
||||
$this->assertEquals('First IMSCP', $choices['choices'][0]['name']);
|
||||
// As Student you cannot see some IMSCP properties like 'section'.
|
||||
@@ -390,7 +386,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Student1 is not enrolled in this Course.
|
||||
// The webservice will give a warning!
|
||||
$choices = mod_choice_external::get_choices_by_courses(array($course2->id));
|
||||
$choices = external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$choices = \external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$this->assertCount(0, $choices['choices']);
|
||||
$this->assertEquals(1, $choices['warnings'][0]['warningcode']);
|
||||
|
||||
@@ -398,7 +394,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
// As Admin we can see this IMSCP.
|
||||
$choices = mod_choice_external::get_choices_by_courses(array($course2->id));
|
||||
$choices = external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$choices = \external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$this->assertCount(1, $choices['choices']);
|
||||
$this->assertEquals('Second IMSCP', $choices['choices'][0]['name']);
|
||||
// As an Admin you can see some IMSCP properties like 'section'.
|
||||
@@ -406,13 +402,13 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Now, prohibit capabilities.
|
||||
$this->setUser($student1);
|
||||
$contextcourse1 = context_course::instance($course1->id);
|
||||
$contextcourse1 = \context_course::instance($course1->id);
|
||||
// Prohibit capability = mod:choice:choose on Course1 for students.
|
||||
assign_capability('mod/choice:choose', CAP_PROHIBIT, $studentrole->id, $contextcourse1->id);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
$choices = mod_choice_external::get_choices_by_courses(array($course1->id));
|
||||
$choices = external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$choices = \external_api::clean_returnvalue(mod_choice_external::get_choices_by_courses_returns(), $choices);
|
||||
$this->assertFalse(isset($choices['choices'][0]['timeopen']));
|
||||
}
|
||||
|
||||
@@ -425,7 +421,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
$params = new stdClass();
|
||||
$params = new \stdClass();
|
||||
$params->course = $course->id;
|
||||
$params->option = array('fried rice', 'spring rolls', 'sweet and sour pork', 'satay beef', 'gyouza');
|
||||
$params->name = 'First Choice Activity';
|
||||
@@ -446,7 +442,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($student);
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($options[1], $options[2]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
|
||||
$myresponses = array_keys(choice_get_my_response($choice));
|
||||
|
||||
@@ -454,7 +450,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_choice_external::delete_choice_responses($choice->id, array($myresponses[0], $myresponses[0]));
|
||||
$this->fail('Exception expected due to missing permissions.');
|
||||
} catch (required_capability_exception $e) {
|
||||
} catch (\required_capability_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -464,14 +460,14 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_choice_external::delete_choice_responses($choice->id, array($myresponses[0], $myresponses[1]));
|
||||
$this->fail('Exception expected due to expired choice.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('expired', $e->errorcode);
|
||||
}
|
||||
|
||||
// Reset time close. We should be able now to delete all the responses.
|
||||
$DB->set_field('choice', 'timeclose', 0, array('id' => $choice->id));
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id, array($myresponses[0], $myresponses[1]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
|
||||
$this->assertTrue($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
@@ -480,12 +476,12 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Submit again the responses.
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($options[1], $options[2]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
|
||||
$myresponses = array_keys(choice_get_my_response($choice));
|
||||
// Delete only one response.
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id, array($myresponses[0]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$this->assertTrue($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
// Now, in the DB 1 response still.
|
||||
@@ -494,7 +490,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Delete the remaining response, passing 2 invalid responses ids.
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id, array($myresponses[1], $myresponses[0] + 2,
|
||||
$myresponses[0] + 3));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$this->assertTrue($results['status']);
|
||||
// 2 warnings, 2 invalid responses.
|
||||
$this->assertCount(2, $results['warnings']);
|
||||
@@ -505,7 +501,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($student);
|
||||
// Submit again the responses.
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($options[1], $options[2]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$studentresponses = array_keys(choice_get_my_response($choice));
|
||||
|
||||
$this->setAdminUser();
|
||||
@@ -513,7 +509,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$DB->set_field('choice', 'timeclose', time() - DAYSECS, array('id' => $choice->id));
|
||||
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id, array($studentresponses[0], $studentresponses[1]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
|
||||
$this->assertTrue($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
@@ -522,12 +518,12 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($student);
|
||||
$DB->set_field('choice', 'timeclose', 0, array('id' => $choice->id));
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($options[1], $options[2]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
|
||||
// Test admin try to delete his own responses (he didn't respond so nothing should be deleted).
|
||||
$this->setAdminUser();
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id);
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$this->assertFalse($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
$allresponses = choice_get_all_responses($choice);
|
||||
@@ -535,12 +531,12 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Now admin submit a couple of responses more.
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($options[1], $options[2]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$allresponses = choice_get_all_responses($choice);
|
||||
$this->assertCount(4, $allresponses);
|
||||
// Admin responses are deleted when passing an empty array.
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id);
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$this->assertTrue($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
$allresponses = choice_get_all_responses($choice);
|
||||
@@ -548,7 +544,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Now admin will delete all the other users responses.
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id, array_keys($allresponses));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
|
||||
$this->assertTrue($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
@@ -557,7 +553,7 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Admin try do delete an invalid response.
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id, array(-1));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
|
||||
$this->assertFalse($results['status']);
|
||||
$this->assertCount(1, $results['warnings']);
|
||||
@@ -569,11 +565,11 @@ class mod_choice_externallib_testcase extends externallib_advanced_testcase {
|
||||
$DB->set_field('choice', 'allowupdate', 1, array('id' => $choice->id));
|
||||
$DB->set_field('choice', 'timeclose', 0, array('id' => $choice->id));
|
||||
$results = mod_choice_external::submit_choice_response($choice->id, array($options[1], $options[2]));
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::submit_choice_response_returns(), $results);
|
||||
|
||||
// Delete all responses.
|
||||
$results = mod_choice_external::delete_choice_responses($choice->id);
|
||||
$results = external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
$results = \external_api::clean_returnvalue(mod_choice_external::delete_choice_responses_returns(), $results);
|
||||
|
||||
$this->assertTrue($results['status']);
|
||||
$this->assertCount(0, $results['warnings']);
|
||||
|
||||
@@ -14,13 +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/>.
|
||||
|
||||
/**
|
||||
* Generator tests.
|
||||
*
|
||||
* @package mod_choice
|
||||
* @copyright 2013 Adrian Greeve <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_choice;
|
||||
|
||||
/**
|
||||
* Generator tests class.
|
||||
@@ -29,7 +23,7 @@
|
||||
* @copyright 2013 Adrian Greeve <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_choice_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
@@ -49,7 +43,7 @@ class mod_choice_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals(2, $DB->count_records('choice', array('course' => $course->id)));
|
||||
$this->assertEquals('One more choice', $DB->get_field_select('choice', 'name', 'id = :id', array('id' => $choice->id)));
|
||||
|
||||
$params = new stdClass();
|
||||
$params = new \stdClass();
|
||||
$params->course = $course->id;
|
||||
$params->option = array('fried rice', 'spring rolls', 'sweet and sour pork', 'satay beef', 'gyouza');
|
||||
$choice = $this->getDataGenerator()->create_module('choice', $params);
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Database module external functions tests
|
||||
*
|
||||
* @package mod_data
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.9
|
||||
*/
|
||||
namespace mod_data;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_data_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 2.9
|
||||
*/
|
||||
class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/** @var stdClass Test module context. */
|
||||
protected $context;
|
||||
@@ -89,12 +84,12 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
|
||||
// Setup test data.
|
||||
$course = new stdClass();
|
||||
$course = new \stdClass();
|
||||
$course->groupmode = SEPARATEGROUPS;
|
||||
$course->groupmodeforce = true;
|
||||
$this->course = $this->getDataGenerator()->create_course($course);
|
||||
$this->database = $this->getDataGenerator()->create_module('data', array('course' => $this->course->id));
|
||||
$this->context = context_module::instance($this->database->cmid);
|
||||
$this->context = \context_module::instance($this->database->cmid);
|
||||
$this->cm = get_coursemodule_from_instance('data', $this->database->id);
|
||||
|
||||
// Create users.
|
||||
@@ -139,7 +134,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$course2 = self::getDataGenerator()->create_course();
|
||||
|
||||
// First database.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->introformat = FORMAT_HTML;
|
||||
$record->course = $course1->id;
|
||||
// Set multilang text to check that is properly filtered to "en" only.
|
||||
@@ -148,7 +143,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$database1 = self::getDataGenerator()->create_module('data', $record);
|
||||
|
||||
// Second database.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->introformat = FORMAT_HTML;
|
||||
$record->course = $course2->id;
|
||||
$database2 = self::getDataGenerator()->create_module('data', $record);
|
||||
@@ -172,11 +167,11 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$enrol->enrol_user($instance2, $student->id, $studentrole->id);
|
||||
|
||||
// Enable multilang filter to on content and heading.
|
||||
filter_manager::reset_caches();
|
||||
\filter_manager::reset_caches();
|
||||
filter_set_global_state('multilang', TEXTFILTER_ON);
|
||||
filter_set_applies_to_strings('multilang', true);
|
||||
// Set WS filtering.
|
||||
$wssettings = external_settings::get_instance();
|
||||
$wssettings = \external_settings::get_instance();
|
||||
$wssettings->set_filter(true);
|
||||
|
||||
// Create what we expect to be returned when querying the two courses.
|
||||
@@ -213,12 +208,12 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_data_external::get_databases_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$this->assertEquals($expecteddatabases, $result['databases']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_data_external::get_databases_by_courses();
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$this->assertEquals($expecteddatabases, $result['databases']);
|
||||
|
||||
// Unenrol user from second course and alter expected databases.
|
||||
@@ -227,7 +222,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_data_external::get_databases_by_courses();
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$this->assertEquals($expecteddatabases, $result['databases']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
@@ -248,14 +243,14 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$expecteddatabases[0][$field] = $database1->{$field};
|
||||
}
|
||||
$result = mod_data_external::get_databases_by_courses();
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$this->assertEquals($expecteddatabases, $result['databases']);
|
||||
|
||||
// Admin should get all the information.
|
||||
self::setAdminUser();
|
||||
|
||||
$result = mod_data_external::get_databases_by_courses(array($course1->id));
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_databases_by_courses_returns(), $result);
|
||||
$this->assertEquals($expecteddatabases, $result['databases']);
|
||||
}
|
||||
|
||||
@@ -306,7 +301,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_data_external::view_database($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::view_database_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::view_database_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -336,7 +331,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->student1);
|
||||
|
||||
$result = mod_data_external::get_data_access_information($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
|
||||
$this->assertEquals($this->group1->id, $result['groupid']);
|
||||
|
||||
@@ -365,7 +360,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->teacher);
|
||||
|
||||
$result = mod_data_external::get_data_access_information($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
|
||||
$this->assertEquals(0, $result['groupid']);
|
||||
|
||||
@@ -391,7 +386,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->student1);
|
||||
|
||||
$result = mod_data_external::get_data_access_information($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
|
||||
$this->assertEquals($this->group1->id, $result['groupid']); // My group is correctly found.
|
||||
$this->assertFalse($result['canmanageentries']);
|
||||
@@ -405,7 +400,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Check the other course group in visible groups mode.
|
||||
$result = mod_data_external::get_data_access_information($this->database->id, $this->group2->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_data_access_information_returns(), $result);
|
||||
|
||||
$this->assertEquals($this->group2->id, $result['groupid']); // The group is correctly found.
|
||||
$this->assertFalse($result['canmanageentries']);
|
||||
@@ -435,7 +430,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Creating test Fields with default parameter values.
|
||||
foreach ($fieldtypes as $fieldtype) {
|
||||
$fieldname = 'field-' . $count;
|
||||
$record = new StdClass();
|
||||
$record = new \stdClass();
|
||||
$record->name = $fieldname;
|
||||
$record->type = $fieldtype;
|
||||
$record->required = 1;
|
||||
@@ -494,7 +489,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// We may expect entries without group also.
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_entries($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(3, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
@@ -516,7 +511,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Other user in same group.
|
||||
$this->setUser($this->student2);
|
||||
$result = mod_data_external::get_entries($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(4, $result['entries']); // I can see my entry not approved yet.
|
||||
$this->assertEquals(4, $result['totalcount']);
|
||||
@@ -524,7 +519,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now try with the user in the second group that must see only two entries (his group entry and the one without group).
|
||||
$this->setUser($this->student3);
|
||||
$result = mod_data_external::get_entries($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(2, $result['entries']);
|
||||
$this->assertEquals(2, $result['totalcount']);
|
||||
@@ -540,7 +535,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now, as teacher we should see all (we have permissions to view all groups).
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_data_external::get_entries($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(5, $result['entries']); // I can see the not approved one.
|
||||
$this->assertEquals(5, $result['totalcount']);
|
||||
@@ -556,7 +551,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Basic test passing the parameter (instead having to calculate it).
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_entries($this->database->id, $this->group1->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(3, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
@@ -564,7 +559,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Test ordering (reverse).
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_entries($this->database->id, $this->group1->id, false, null, 'DESC');
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(3, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
@@ -573,14 +568,14 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Test pagination.
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_entries($this->database->id, $this->group1->id, false, null, null, 0, 1);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
$this->assertEquals($entry11, $result['entries'][0]['id']);
|
||||
|
||||
$result = mod_data_external::get_entries($this->database->id, $this->group1->id, false, null, null, 1, 1);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
@@ -589,7 +584,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now test the return contents.
|
||||
data_generate_default_template($this->database, 'listtemplate', 0, false, true); // Generate a default list template.
|
||||
$result = mod_data_external::get_entries($this->database->id, $this->group1->id, true, null, null, 0, 2);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(2, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
@@ -615,7 +610,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Check I can see my approved group entries.
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals($entry11, $result['entry']['id']);
|
||||
$this->assertTrue($result['entry']['approved']);
|
||||
@@ -623,7 +618,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Entry from other group.
|
||||
$result = mod_data_external::get_entry($entry21);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals($entry21, $result['entry']['id']);
|
||||
}
|
||||
@@ -638,7 +633,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Check I can see my approved group entries.
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals($entry11, $result['entry']['id']);
|
||||
$this->assertTrue($result['entry']['approved']);
|
||||
@@ -647,7 +642,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Retrieve contents.
|
||||
data_generate_default_template($this->database, 'singletemplate', 0, false, true);
|
||||
$result = mod_data_external::get_entry($entry11, true);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(9, $result['entry']['contents']);
|
||||
$this->assertTrue(strpos($result['entryviewcontents'], 'opt1') !== false);
|
||||
@@ -658,7 +653,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// This is in my group but I'm not the author.
|
||||
$result = mod_data_external::get_entry($entry12);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals($entry12, $result['entry']['id']);
|
||||
$this->assertTrue($result['entry']['approved']);
|
||||
@@ -666,7 +661,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($this->student3);
|
||||
$result = mod_data_external::get_entry($entry21);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals($entry21, $result['entry']['id']);
|
||||
$this->assertTrue($result['entry']['approved']);
|
||||
@@ -675,19 +670,19 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// As teacher I should be able to see all the entries.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_data_external::get_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertEquals($entry11, $result['entry']['id']);
|
||||
|
||||
$result = mod_data_external::get_entry($entry12);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertEquals($entry12, $result['entry']['id']);
|
||||
// This is the not approved one.
|
||||
$result = mod_data_external::get_entry($entry13);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertEquals($entry13, $result['entry']['id']);
|
||||
|
||||
$result = mod_data_external::get_entry($entry21);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertEquals($entry21, $result['entry']['id']);
|
||||
|
||||
// Now, try to get an entry not approved yet.
|
||||
@@ -717,7 +712,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_fields($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_fields_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_fields_returns(), $result);
|
||||
|
||||
// Basically compare we retrieve all the fields and the correct values.
|
||||
$fields = $DB->get_records('data_fields', array('dataid' => $this->database->id), 'id');
|
||||
@@ -733,7 +728,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::get_fields($this->database->id);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_fields_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_fields_returns(), $result);
|
||||
|
||||
$this->assertEmpty($result['fields']);
|
||||
}
|
||||
@@ -748,19 +743,19 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->student1);
|
||||
// Empty search, it should return all the visible entries.
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(3, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
|
||||
// Search for something that does not exists.
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, 'abc');
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['entries']);
|
||||
$this->assertEquals(0, $result['totalcount']);
|
||||
|
||||
// Search by text matching all the entries.
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, 'text');
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(3, $result['entries']);
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
$this->assertEquals(3, $result['maxcount']);
|
||||
@@ -768,7 +763,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now as the other student I should receive my not approved entry. Apply ordering here.
|
||||
$this->setUser($this->student2);
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, 'text', [], DATA_APPROVED, 'ASC');
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(4, $result['entries']);
|
||||
$this->assertEquals(4, $result['totalcount']);
|
||||
$this->assertEquals(4, $result['maxcount']);
|
||||
@@ -778,7 +773,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now as the other group student.
|
||||
$this->setUser($this->student3);
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, 'text');
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(2, $result['entries']);
|
||||
$this->assertEquals(2, $result['totalcount']);
|
||||
$this->assertEquals(2, $result['maxcount']);
|
||||
@@ -788,7 +783,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Same normal text search as teacher.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, 'text');
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(5, $result['entries']); // I can see all groups and non approved.
|
||||
$this->assertEquals(5, $result['totalcount']);
|
||||
$this->assertEquals(5, $result['maxcount']);
|
||||
@@ -796,7 +791,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Pagination.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, 'text', [], DATA_TIMEADDED, 'ASC', 0, 2);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(2, $result['entries']); // Only 2 per page.
|
||||
$this->assertEquals(5, $result['totalcount']);
|
||||
$this->assertEquals(5, $result['maxcount']);
|
||||
@@ -807,7 +802,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
['name' => 'fn', 'value' => json_encode($this->student2->firstname)]
|
||||
];
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, '', $advsearch);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(2, $result['entries']);
|
||||
$this->assertEquals(2, $result['totalcount']);
|
||||
$this->assertEquals(3, $result['maxcount']);
|
||||
@@ -819,7 +814,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
['name' => 'f_' . $field->id , 'value' => 'sampleurl']
|
||||
];
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, '', $advsearch);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(3, $result['entries']); // Found two entries matching this.
|
||||
$this->assertEquals(3, $result['totalcount']);
|
||||
$this->assertEquals(3, $result['maxcount']);
|
||||
@@ -832,7 +827,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
['name' => 'ln', 'value' => json_encode($this->student2->lastname)]
|
||||
];
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, '', $advsearch);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(2, $result['entries']); // Only one matching everything.
|
||||
$this->assertEquals(2, $result['totalcount']);
|
||||
$this->assertEquals(3, $result['maxcount']);
|
||||
@@ -844,7 +839,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
['name' => 'f_' . $field2->id , 'value' => '98780333'], // Non existent number.
|
||||
];
|
||||
$result = mod_data_external::search_entries($this->database->id, 0, false, '', $advsearch);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::search_entries_returns(), $result);
|
||||
$this->assertCount(0, $result['entries']); // Only one matching everything.
|
||||
$this->assertEquals(0, $result['totalcount']);
|
||||
$this->assertEquals(3, $result['maxcount']);
|
||||
@@ -860,7 +855,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->teacher);
|
||||
$this->assertEquals(0, $DB->get_field('data_records', 'approved', array('id' => $entry13)));
|
||||
$result = mod_data_external::approve_entry($entry13);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::approve_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::approve_entry_returns(), $result);
|
||||
$this->assertEquals(1, $DB->get_field('data_records', 'approved', array('id' => $entry13)));
|
||||
}
|
||||
|
||||
@@ -874,7 +869,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->teacher);
|
||||
$this->assertEquals(1, $DB->get_field('data_records', 'approved', array('id' => $entry11)));
|
||||
$result = mod_data_external::approve_entry($entry11, false);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::approve_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::approve_entry_returns(), $result);
|
||||
$this->assertEquals(0, $DB->get_field('data_records', 'approved', array('id' => $entry11)));
|
||||
}
|
||||
|
||||
@@ -899,12 +894,12 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_data_external::delete_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::delete_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::delete_entry_returns(), $result);
|
||||
$this->assertEquals(0, $DB->count_records('data_records', array('id' => $entry11)));
|
||||
|
||||
// Entry in other group.
|
||||
$result = mod_data_external::delete_entry($entry21);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::delete_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::delete_entry_returns(), $result);
|
||||
$this->assertEquals(0, $DB->count_records('data_records', array('id' => $entry21)));
|
||||
}
|
||||
|
||||
@@ -917,7 +912,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::delete_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::delete_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::delete_entry_returns(), $result);
|
||||
$this->assertEquals(0, $DB->count_records('data_records', array('id' => $entry11)));
|
||||
}
|
||||
|
||||
@@ -1024,11 +1019,11 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
];
|
||||
}
|
||||
$result = mod_data_external::add_entry($this->database->id, 0, $newentrydata);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::add_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::add_entry_returns(), $result);
|
||||
|
||||
$newentryid = $result['newentryid'];
|
||||
$result = mod_data_external::get_entry($newentryid, true);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertEquals($this->student1->id, $result['entry']['userid']);
|
||||
$this->assertCount(9, $result['entry']['contents']);
|
||||
foreach ($result['entry']['contents'] as $content) {
|
||||
@@ -1081,7 +1076,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now, try to add another entry but removing some required data.
|
||||
unset($newentrydata[0]);
|
||||
$result = mod_data_external::add_entry($this->database->id, 0, $newentrydata);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::add_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::add_entry_returns(), $result);
|
||||
$this->assertEquals(0, $result['newentryid']);
|
||||
$this->assertCount(0, $result['generalnotifications']);
|
||||
$this->assertCount(1, $result['fieldnotifications']);
|
||||
@@ -1094,7 +1089,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
*/
|
||||
public function test_add_entry_empty_form() {
|
||||
$result = mod_data_external::add_entry($this->database->id, 0, []);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::add_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::add_entry_returns(), $result);
|
||||
$this->assertEquals(0, $result['newentryid']);
|
||||
$this->assertCount(1, $result['generalnotifications']);
|
||||
$this->assertCount(0, $result['fieldnotifications']);
|
||||
@@ -1219,13 +1214,13 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
];
|
||||
}
|
||||
$result = mod_data_external::update_entry($entry11, $newentrydata);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::update_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::update_entry_returns(), $result);
|
||||
$this->assertTrue($result['updated']);
|
||||
$this->assertCount(0, $result['generalnotifications']);
|
||||
$this->assertCount(0, $result['fieldnotifications']);
|
||||
|
||||
$result = mod_data_external::get_entry($entry11, true);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertEquals($this->student1->id, $result['entry']['userid']);
|
||||
$this->assertCount(9, $result['entry']['contents']);
|
||||
foreach ($result['entry']['contents'] as $content) {
|
||||
@@ -1278,7 +1273,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now, try to update the entry but removing some required data.
|
||||
unset($newentrydata[0]);
|
||||
$result = mod_data_external::update_entry($entry11, $newentrydata);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::update_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::update_entry_returns(), $result);
|
||||
$this->assertFalse($result['updated']);
|
||||
$this->assertCount(0, $result['generalnotifications']);
|
||||
$this->assertCount(1, $result['fieldnotifications']);
|
||||
@@ -1294,7 +1289,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($this->student1);
|
||||
$result = mod_data_external::update_entry($entry11, []);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::update_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::update_entry_returns(), $result);
|
||||
$this->assertFalse($result['updated']);
|
||||
$this->assertCount(1, $result['generalnotifications']);
|
||||
$this->assertCount(9, $result['fieldnotifications']);
|
||||
@@ -1347,7 +1342,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($user2->id, $this->course->id, $this->studentrole->id, 'manual');
|
||||
|
||||
// Rate the entry as user1.
|
||||
$rating1 = new stdClass();
|
||||
$rating1 = new \stdClass();
|
||||
$rating1->contextid = $this->context->id;
|
||||
$rating1->component = 'mod_data';
|
||||
$rating1->ratingarea = 'entry';
|
||||
@@ -1360,7 +1355,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
$rating1->id = $DB->insert_record('rating', $rating1);
|
||||
|
||||
// Rate the entry as user2.
|
||||
$rating2 = new stdClass();
|
||||
$rating2 = new \stdClass();
|
||||
$rating2->contextid = $this->context->id;
|
||||
$rating2->component = 'mod_data';
|
||||
$rating2->ratingarea = 'entry';
|
||||
@@ -1375,7 +1370,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// As student, retrieve ratings information.
|
||||
$this->setUser($this->student2);
|
||||
$result = mod_data_external::get_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(1, $result['ratinginfo']['ratings']);
|
||||
$this->assertFalse($result['ratinginfo']['ratings'][0]['canviewaggregate']);
|
||||
$this->assertFalse($result['ratinginfo']['canviewall']);
|
||||
@@ -1385,7 +1380,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
|
||||
// Now, as teacher, I should see the info correctly.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_data_external::get_entry($entry11);
|
||||
$result = external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_data_external::get_entry_returns(), $result);
|
||||
$this->assertCount(1, $result['ratinginfo']['ratings']);
|
||||
$this->assertTrue($result['ratinginfo']['ratings'][0]['canviewaggregate']);
|
||||
$this->assertTrue($result['ratinginfo']['canviewall']);
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests.
|
||||
*
|
||||
* @package mod_data
|
||||
* @category phpunit
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace mod_data;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase.
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_data_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB;
|
||||
|
||||
@@ -59,7 +49,7 @@ class mod_data_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('data', $cm->modname);
|
||||
$this->assertEquals($course->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($data->cmid, $context->instanceid);
|
||||
|
||||
// test gradebook integration using low level DB access - DO NOT USE IN PLUGIN CODE!
|
||||
@@ -95,7 +85,7 @@ class mod_data_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('data', $cm->modname);
|
||||
$this->assertEquals($course->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($data->cmid, $context->instanceid);
|
||||
|
||||
$fieldtypes = array('checkbox', 'date', 'menu', 'multimenu', 'number', 'radiobutton', 'text', 'textarea', 'url');
|
||||
@@ -107,7 +97,7 @@ class mod_data_generator_testcase extends advanced_testcase {
|
||||
|
||||
// Creating variables dynamically.
|
||||
$fieldname = 'field-' . $count;
|
||||
$record = new StdClass();
|
||||
$record = new \stdClass();
|
||||
$record->name = $fieldname;
|
||||
$record->type = $fieldtype;
|
||||
|
||||
@@ -156,7 +146,7 @@ class mod_data_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('data', $cm->modname);
|
||||
$this->assertEquals($course->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($data->cmid, $context->instanceid);
|
||||
|
||||
$fieldtypes = array('checkbox', 'date', 'menu', 'multimenu', 'number', 'radiobutton', 'text', 'textarea', 'url',
|
||||
@@ -169,7 +159,7 @@ class mod_data_generator_testcase extends advanced_testcase {
|
||||
|
||||
// Creating variables dynamically.
|
||||
$fieldname = 'field-' . $count;
|
||||
$record = new StdClass();
|
||||
$record = new \stdClass();
|
||||
$record->name = $fieldname;
|
||||
$record->type = $fieldtype;
|
||||
$record->required = 1;
|
||||
@@ -237,6 +227,6 @@ class mod_data_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($contents[++$contentstartid]->content, 'http://example.url');
|
||||
$this->assertEquals($contents[$contentstartid]->content1, 'sampleurl');
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_data', 'data_records', $datarecordid)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_data', 'data_records', $datarecordid)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,24 +14,16 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
namespace mod_feedback;
|
||||
|
||||
/**
|
||||
* Genarator tests.
|
||||
* Generator tests class.
|
||||
*
|
||||
* @package mod_feedback
|
||||
* @copyright 2013 Ankit Agarwal
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
global $CFG;
|
||||
|
||||
/**
|
||||
* Genarator tests class.
|
||||
*
|
||||
* @package mod_feedback
|
||||
* @copyright 2013 Ankit Agarwal
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_feedback_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
@@ -227,4 +219,3 @@ class mod_feedback_generator_testcase extends advanced_testcase {
|
||||
$this->assertCount(2, $records);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_folder functions unit tests
|
||||
*
|
||||
* @package mod_folder
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_folder;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_folder_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test view_folder
|
||||
@@ -53,14 +48,14 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$folder = $this->getDataGenerator()->create_module('folder', array('course' => $course->id));
|
||||
$context = context_module::instance($folder->cmid);
|
||||
$context = \context_module::instance($folder->cmid);
|
||||
$cm = get_coursemodule_from_instance('folder', $folder->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_folder_external::view_folder(0);
|
||||
$this->fail('Exception expected due to invalid mod_folder instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -70,7 +65,7 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_folder_external::view_folder($folder->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -82,7 +77,7 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_folder_external::view_folder($folder->id);
|
||||
$result = external_api::clean_returnvalue(mod_folder_external::view_folder_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_folder_external::view_folder_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -101,12 +96,12 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
assign_capability('mod/folder:view', CAP_PROHIBIT, $studentrole->id, $context->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
try {
|
||||
mod_folder_external::view_folder($folder->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -129,13 +124,13 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
self::setUser($student);
|
||||
|
||||
// First folder.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course1->id;
|
||||
$record->forcedownload = 1;
|
||||
$folder1 = self::getDataGenerator()->create_module('folder', $record);
|
||||
|
||||
// Second folder.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$record->forcedownload = 0;
|
||||
$folder2 = self::getDataGenerator()->create_module('folder', $record);
|
||||
@@ -184,14 +179,14 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_folder_external::get_folders_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedfolders, $result['folders']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_folder_external::get_folders_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedfolders, $result['folders']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
@@ -199,7 +194,7 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
// Add a file to the intro.
|
||||
$fileintroname = "fileintro.txt";
|
||||
$filerecordinline = array(
|
||||
'contextid' => context_module::instance($folder2->cmid)->id,
|
||||
'contextid' => \context_module::instance($folder2->cmid)->id,
|
||||
'component' => 'mod_folder',
|
||||
'filearea' => 'intro',
|
||||
'itemid' => 0,
|
||||
@@ -211,7 +206,7 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
$fs->create_file_from_string($filerecordinline, 'image contents (not really)');
|
||||
|
||||
$result = mod_folder_external::get_folders_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertCount(1, $result['folders'][0]['introfiles']);
|
||||
$this->assertEquals($fileintroname, $result['folders'][0]['introfiles'][0]['filename']);
|
||||
@@ -222,7 +217,7 @@ class mod_folder_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_folder_external::get_folders_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedfolders, $result['folders']);
|
||||
|
||||
|
||||
@@ -14,24 +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/>.
|
||||
|
||||
/**
|
||||
* mod_folder generator tests
|
||||
*
|
||||
* @package mod_folder
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_folder;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_folder.
|
||||
* Generator tests class for mod_folder.
|
||||
*
|
||||
* @package mod_folder
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_folder_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB, $USER;
|
||||
@@ -57,7 +50,7 @@ class mod_folder_generator_testcase extends advanced_testcase {
|
||||
'course' => $course->id,
|
||||
'files' => file_get_unused_draft_itemid()
|
||||
);
|
||||
$usercontext = context_user::instance($USER->id);
|
||||
$usercontext = \context_user::instance($USER->id);
|
||||
$filerecord = array('component' => 'user', 'filearea' => 'draft',
|
||||
'contextid' => $usercontext->id, 'itemid' => $params['files'],
|
||||
'filename' => 'file1.txt', 'filepath' => '/');
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests
|
||||
*
|
||||
* @package mod_forum
|
||||
* @category phpunit
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace mod_forum;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_forum_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function setUp(): void {
|
||||
// We must clear the subscription caches. This has to be done both before each test, and after in case of other
|
||||
@@ -72,7 +62,7 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('forum', $cm->modname);
|
||||
$this->assertEquals($course->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($forum->cmid, $context->instanceid);
|
||||
|
||||
// test gradebook integration using low level DB access - DO NOT USE IN PLUGIN CODE!
|
||||
@@ -99,7 +89,7 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// The forum.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$forum = self::getDataGenerator()->create_module('forum', $record);
|
||||
|
||||
@@ -121,7 +111,7 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$record['tags'] = array('Cats', 'mice');
|
||||
$record = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_discussion($record);
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_forum', 'forum_posts', $record->firstpost)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_forum', 'forum_posts', $record->firstpost)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -142,7 +132,7 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// The forum.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$forum = self::getDataGenerator()->create_module('forum', $record);
|
||||
|
||||
@@ -152,7 +142,7 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$discussion = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_discussion($record);
|
||||
|
||||
// Add a bunch of replies, changing the userid.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->discussion = $discussion->id;
|
||||
$record->userid = $user2->id;
|
||||
self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
|
||||
@@ -169,7 +159,7 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$record->tags = array('Cats', 'mice');
|
||||
$record = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_forum', 'forum_posts', $record->id)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_forum', 'forum_posts', $record->id)));
|
||||
}
|
||||
|
||||
public function test_create_content() {
|
||||
@@ -212,6 +202,6 @@ class mod_forum_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($post2->id, $postrecords[$post4->id]->parent);
|
||||
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_forum', 'forum_posts', $post5->id)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_forum', 'forum_posts', $post5->id)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_glossary generator tests
|
||||
*
|
||||
* @package mod_glossary
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_glossary;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_glossary.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_glossary_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
@@ -72,7 +65,7 @@ class mod_glossary_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($entry2->id, $records[$entry2->id]->id);
|
||||
$this->assertEquals('Custom concept', $records[$entry2->id]->concept);
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_glossary', 'glossary_entries', $entry2->id)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_glossary', 'glossary_entries', $entry2->id)));
|
||||
$aliases = $DB->get_records_menu('glossary_alias', array('entryid' => $entry2->id), 'id ASC', 'id, alias');
|
||||
$this->assertSame(array('alias1', 'alias2'), array_values($aliases));
|
||||
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_h5pactivity generator tests
|
||||
*
|
||||
* @package mod_h5pactivity
|
||||
* @category test
|
||||
* @copyright 2020 Ferran Recio <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_h5pactivity;
|
||||
|
||||
use mod_h5pactivity\local\manager;
|
||||
|
||||
@@ -33,7 +26,7 @@ use mod_h5pactivity\local\manager;
|
||||
* @copyright 2020 Ferran Recio <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_h5pactivity_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test on H5P activity creation.
|
||||
@@ -81,7 +74,7 @@ class mod_h5pactivity_generator_testcase extends advanced_testcase {
|
||||
'course' => $course->id,
|
||||
'packagefile' => file_get_unused_draft_itemid()
|
||||
];
|
||||
$usercontext = context_user::instance($USER->id);
|
||||
$usercontext = \context_user::instance($USER->id);
|
||||
$filerecord = ['component' => 'user', 'filearea' => 'draft',
|
||||
'contextid' => $usercontext->id, 'itemid' => $params['packagefile'],
|
||||
'filename' => 'singlescobasic.zip', 'filepath' => '/'];
|
||||
@@ -106,7 +99,7 @@ class mod_h5pactivity_generator_testcase extends advanced_testcase {
|
||||
'course' => $course->id,
|
||||
'packagefilepath' => $CFG->dirroot.'/h5p/tests/fixtures/wrong_file_.xxx'
|
||||
];
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
$activity = $this->getDataGenerator()->create_module('h5pactivity', $params);
|
||||
}
|
||||
|
||||
@@ -134,7 +127,7 @@ class mod_h5pactivity_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals(0, $DB->count_records('h5pactivity_attempts_results'));
|
||||
|
||||
if ($exception) {
|
||||
$this->expectException(Exception::class);
|
||||
$this->expectException(\Exception::class);
|
||||
}
|
||||
|
||||
foreach ($tracks as $track) {
|
||||
@@ -329,7 +322,7 @@ class mod_h5pactivity_generator_testcase extends advanced_testcase {
|
||||
$activity = $this->getDataGenerator()->create_module('h5pactivity', ['course' => $course]);
|
||||
$user = $this->getDataGenerator()->create_and_enrol($course, 'student');
|
||||
|
||||
$this->expectException(coding_exception::class);
|
||||
$this->expectException(\coding_exception::class);
|
||||
|
||||
$attemptinfo = [
|
||||
'attempt' => 1,
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_imscp functions unit tests
|
||||
*
|
||||
* @package mod_imscp
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_imscp;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_imscp_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test view_imscp
|
||||
@@ -53,14 +48,14 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$imscp = $this->getDataGenerator()->create_module('imscp', array('course' => $course->id));
|
||||
$context = context_module::instance($imscp->cmid);
|
||||
$context = \context_module::instance($imscp->cmid);
|
||||
$cm = get_coursemodule_from_instance('imscp', $imscp->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_imscp_external::view_imscp(0);
|
||||
$this->fail('Exception expected due to invalid mod_imscp instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -70,7 +65,7 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_imscp_external::view_imscp($imscp->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -82,7 +77,7 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_imscp_external::view_imscp($imscp->id);
|
||||
$result = external_api::clean_returnvalue(mod_imscp_external::view_imscp_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_imscp_external::view_imscp_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -101,12 +96,12 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
assign_capability('mod/imscp:view', CAP_PROHIBIT, $studentrole->id, $context->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
try {
|
||||
mod_imscp_external::view_imscp($imscp->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -142,7 +137,7 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($student1);
|
||||
$imscps = mod_imscp_external::get_imscps_by_courses(array());
|
||||
$imscps = external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$imscps = \external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$this->assertCount(1, $imscps['imscps']);
|
||||
$this->assertEquals('First IMSCP', $imscps['imscps'][0]['name']);
|
||||
// As Student you cannot see some IMSCP properties like 'section'.
|
||||
@@ -151,7 +146,7 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
// Student1 is not enrolled in this Course.
|
||||
// The webservice will give a warning!
|
||||
$imscps = mod_imscp_external::get_imscps_by_courses(array($course2->id));
|
||||
$imscps = external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$imscps = \external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$this->assertCount(0, $imscps['imscps']);
|
||||
$this->assertEquals(1, $imscps['warnings'][0]['warningcode']);
|
||||
|
||||
@@ -159,7 +154,7 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
// As Admin we can see this IMSCP.
|
||||
$imscps = mod_imscp_external::get_imscps_by_courses(array($course2->id));
|
||||
$imscps = external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$imscps = \external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$this->assertCount(1, $imscps['imscps']);
|
||||
$this->assertEquals('Second IMSCP', $imscps['imscps'][0]['name']);
|
||||
// As an Admin you can see some IMSCP properties like 'section'.
|
||||
@@ -167,15 +162,15 @@ class mod_imscp_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Now, prohibit capabilities.
|
||||
$this->setUser($student1);
|
||||
$contextcourse1 = context_course::instance($course1->id);
|
||||
$contextcourse1 = \context_course::instance($course1->id);
|
||||
// Prohibit capability = mod:imscp:view on Course1 for students.
|
||||
assign_capability('mod/imscp:view', CAP_PROHIBIT, $studentrole->id, $contextcourse1->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
$imscps = mod_imscp_external::get_imscps_by_courses(array($course1->id));
|
||||
$imscps = external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$imscps = \external_api::clean_returnvalue(mod_imscp_external::get_imscps_by_courses_returns(), $imscps);
|
||||
$this->assertCount(0, $imscps['imscps']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_imscp generator tests
|
||||
*
|
||||
* @package mod_imscp
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_imscp;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_imscp.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_imscp_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB, $CFG, $USER;
|
||||
@@ -66,7 +59,7 @@ class mod_imscp_generator_testcase extends advanced_testcase {
|
||||
'course' => $course->id,
|
||||
'package' => file_get_unused_draft_itemid()
|
||||
);
|
||||
$usercontext = context_user::instance($USER->id);
|
||||
$usercontext = \context_user::instance($USER->id);
|
||||
$filerecord = array('component' => 'user', 'filearea' => 'draft',
|
||||
'contextid' => $usercontext->id, 'itemid' => $params['package'],
|
||||
'filename' => 'singlescobasic.zip', 'filepath' => '/');
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_label functions unit tests
|
||||
*
|
||||
* @package mod_label
|
||||
* @category external
|
||||
* @copyright 2017 Juan Leyva <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.3
|
||||
*/
|
||||
namespace mod_label;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_label_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.3
|
||||
*/
|
||||
class mod_label_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test test_mod_label_get_labels_by_courses
|
||||
@@ -57,12 +52,12 @@ class mod_label_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course1->id, $studentrole->id);
|
||||
|
||||
// First label.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course1->id;
|
||||
$label1 = self::getDataGenerator()->create_module('label', $record);
|
||||
|
||||
// Second label.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$label2 = self::getDataGenerator()->create_module('label', $record);
|
||||
|
||||
@@ -111,21 +106,21 @@ class mod_label_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_label_external::get_labels_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedlabels, $result['labels']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_label_external::get_labels_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedlabels, $result['labels']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Add a file to the intro.
|
||||
$filename = "file.txt";
|
||||
$filerecordinline = array(
|
||||
'contextid' => context_module::instance($label2->cmid)->id,
|
||||
'contextid' => \context_module::instance($label2->cmid)->id,
|
||||
'component' => 'mod_label',
|
||||
'filearea' => 'intro',
|
||||
'itemid' => 0,
|
||||
@@ -137,7 +132,7 @@ class mod_label_external_testcase extends externallib_advanced_testcase {
|
||||
$fs->create_file_from_string($filerecordinline, 'image contents (not really)');
|
||||
|
||||
$result = mod_label_external::get_labels_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertCount(1, $result['labels'][0]['introfiles']);
|
||||
$this->assertEquals($filename, $result['labels'][0]['introfiles'][0]['filename']);
|
||||
@@ -148,7 +143,7 @@ class mod_label_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_label_external::get_labels_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedlabels, $result['labels']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit label generator tests
|
||||
*
|
||||
* @package mod_label
|
||||
* @category phpunit
|
||||
* @copyright 2013 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace mod_label;
|
||||
|
||||
/**
|
||||
* PHPUnit label generator testcase
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2013 Jerome Mouneyrac
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_label_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB;
|
||||
|
||||
@@ -59,7 +49,7 @@ class mod_label_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('label', $cm->modname);
|
||||
$this->assertEquals($course->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($label->cmid, $context->instanceid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_lesson generator tests
|
||||
*
|
||||
* @package mod_lesson
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_lesson;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_lesson.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_lesson_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
|
||||
@@ -14,15 +14,11 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External tool module external functions tests
|
||||
*
|
||||
* @package mod_lti
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <juan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_lti;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_lti_external;
|
||||
use mod_lti_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -40,7 +36,7 @@ require_once($CFG->dirroot . '/mod/lti/lib.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
@@ -63,7 +59,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
'lti',
|
||||
['course' => $course->id, 'toolurl' => 'http://localhost/not/real/tool.php']
|
||||
);
|
||||
$context = context_module::instance($lti->cmid);
|
||||
$context = \context_module::instance($lti->cmid);
|
||||
$cm = get_coursemodule_from_instance('lti', $lti->id);
|
||||
|
||||
// Create users.
|
||||
@@ -95,15 +91,15 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
* @param int|null $toolproxyid Optional proxy to associate with tool type.
|
||||
* @return stdClass A tool type.
|
||||
*/
|
||||
protected function generate_tool_type(string $uniqueid, int $toolproxyid = null) : stdClass {
|
||||
protected function generate_tool_type(string $uniqueid, int $toolproxyid = null): \stdClass {
|
||||
// Create a tool type.
|
||||
$type = new stdClass();
|
||||
$type = new \stdClass();
|
||||
$type->state = LTI_TOOL_STATE_CONFIGURED;
|
||||
$type->name = "Test tool $uniqueid";
|
||||
$type->description = "Example description $uniqueid";
|
||||
$type->toolproxyid = $toolproxyid;
|
||||
$type->baseurl = $this->getExternalTestFileUrl("/test$uniqueid.html");
|
||||
lti_add_type($type, new stdClass());
|
||||
lti_add_type($type, new \stdClass());
|
||||
return $type;
|
||||
}
|
||||
|
||||
@@ -113,11 +109,11 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
* @param string $uniqueid Each tool proxy needs a different reg url. Provide a unique string for every tool proxy created.
|
||||
* @return stdClass A tool proxy.
|
||||
*/
|
||||
protected function generate_tool_proxy(string $uniqueid) : stdClass {
|
||||
protected function generate_tool_proxy(string $uniqueid): \stdClass {
|
||||
// Create a tool proxy.
|
||||
$proxy = mod_lti_external::create_tool_proxy("Test proxy $uniqueid",
|
||||
$this->getExternalTestFileUrl("/proxy$uniqueid.html"), array(), array());
|
||||
$proxy = (object)external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
$proxy = (object)\external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
return $proxy;
|
||||
}
|
||||
|
||||
@@ -133,7 +129,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Fetch all proxies.
|
||||
$proxies = mod_lti_external::get_tool_proxies(false);
|
||||
$proxies = external_api::clean_returnvalue(mod_lti_external::get_tool_proxies_returns(), $proxies);
|
||||
$proxies = \external_api::clean_returnvalue(mod_lti_external::get_tool_proxies_returns(), $proxies);
|
||||
|
||||
$this->assertCount(2, $proxies);
|
||||
$this->assertEqualsCanonicalizing([(array) $proxy, (array) $orphanedproxy], $proxies);
|
||||
@@ -151,7 +147,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Fetch all proxies.
|
||||
$proxies = mod_lti_external::get_tool_proxies(true);
|
||||
$proxies = external_api::clean_returnvalue(mod_lti_external::get_tool_proxies_returns(), $proxies);
|
||||
$proxies = \external_api::clean_returnvalue(mod_lti_external::get_tool_proxies_returns(), $proxies);
|
||||
|
||||
$this->assertCount(1, $proxies);
|
||||
$this->assertEqualsCanonicalizing([(array) $orphanedproxy], $proxies);
|
||||
@@ -169,7 +165,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
] = $this->setup_test_data();
|
||||
|
||||
$result = mod_lti_external::get_tool_launch_data($lti->id);
|
||||
$result = external_api::clean_returnvalue(mod_lti_external::get_tool_launch_data_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_lti_external::get_tool_launch_data_returns(), $result);
|
||||
|
||||
// Basic test, the function returns what it's expected.
|
||||
self::assertEquals($lti->toolurl, $result['endpoint']);
|
||||
@@ -208,7 +204,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
$course2 = self::getDataGenerator()->create_course();
|
||||
|
||||
// Second lti.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$lti2 = self::getDataGenerator()->create_module('lti', $record);
|
||||
|
||||
@@ -259,14 +255,14 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_lti_external::get_ltis_by_courses(array($course2->id, $course->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedltis, $result['ltis']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_lti_external::get_ltis_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedltis, $result['ltis']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -276,12 +272,12 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_lti_external::get_ltis_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedltis, $result['ltis']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
$result = mod_lti_external::get_ltis_by_courses(array($course2->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals('1', $result['warnings'][0]['warningcode']);
|
||||
$this->assertEquals($course2->id, $result['warnings'][0]['itemid']);
|
||||
@@ -299,27 +295,27 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_lti_external::get_ltis_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedltis, $result['ltis']);
|
||||
|
||||
// Admin also should get all the information.
|
||||
self::setAdminUser();
|
||||
|
||||
$result = mod_lti_external::get_ltis_by_courses(array($course->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedltis, $result['ltis']);
|
||||
|
||||
// Now, prohibit capabilities.
|
||||
$this->setUser($student);
|
||||
$contextcourse1 = context_course::instance($course->id);
|
||||
$contextcourse1 = \context_course::instance($course->id);
|
||||
// Prohibit capability = mod:lti:view on Course1 for students.
|
||||
assign_capability('mod/lti:view', CAP_PROHIBIT, $studentrole->id, $contextcourse1->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
$ltis = mod_lti_external::get_ltis_by_courses(array($course->id));
|
||||
$ltis = external_api::clean_returnvalue(mod_lti_external::get_ltis_by_courses_returns(), $ltis);
|
||||
$ltis = \external_api::clean_returnvalue(mod_lti_external::get_ltis_by_courses_returns(), $ltis);
|
||||
$this->assertCount(0, $ltis['ltis']);
|
||||
}
|
||||
|
||||
@@ -327,7 +323,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
* Test view_lti with an invalid instance id.
|
||||
*/
|
||||
public function test_view_lti_invalid_instanceid() {
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_lti_external::view_lti(0);
|
||||
}
|
||||
|
||||
@@ -343,7 +339,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
$usernotenrolled = self::getDataGenerator()->create_user();
|
||||
$this->setUser($usernotenrolled);
|
||||
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_lti_external::view_lti($lti->id);
|
||||
}
|
||||
|
||||
@@ -364,9 +360,9 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
assign_capability('mod/lti:view', CAP_PROHIBIT, $studentrole->id, $context->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_lti_external::view_lti($lti->id);
|
||||
}
|
||||
|
||||
@@ -389,7 +385,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$result = mod_lti_external::view_lti($lti->id);
|
||||
// The value of the result isn't needed but validation is.
|
||||
external_api::clean_returnvalue(mod_lti_external::view_lti_returns(), $result);
|
||||
\external_api::clean_returnvalue(mod_lti_external::view_lti_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -398,7 +394,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
// Checking that the event contains the expected values.
|
||||
$this->assertInstanceOf('\mod_lti\event\course_module_viewed', $event);
|
||||
$this->assertEquals($context, $event->get_context());
|
||||
$moodlelti = new moodle_url('/mod/lti/view.php', array('id' => $cm->id));
|
||||
$moodlelti = new \moodle_url('/mod/lti/view.php', array('id' => $cm->id));
|
||||
$this->assertEquals($moodlelti, $event->get_url());
|
||||
$this->assertEventContextNotUsed($event);
|
||||
$this->assertNotEmpty($event->get_name());
|
||||
@@ -411,7 +407,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
$capabilities = ['AA', 'BB'];
|
||||
$proxy = mod_lti_external::create_tool_proxy('Test proxy', $this->getExternalTestFileUrl('/test.html'), $capabilities, []);
|
||||
$proxy = (object) external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
$proxy = (object) \external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
|
||||
$this->assertEquals('Test proxy', $proxy->name);
|
||||
$this->assertEquals($this->getExternalTestFileUrl('/test.html'), $proxy->regurl);
|
||||
@@ -426,7 +422,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
mod_lti_external::create_tool_proxy('Test proxy 1', $this->getExternalTestFileUrl('/test.html'), array(), array());
|
||||
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_lti_external::create_tool_proxy('Test proxy 2', $this->getExternalTestFileUrl('/test.html'), array(), array());
|
||||
}
|
||||
|
||||
@@ -437,7 +433,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$teacher = $this->getDataGenerator()->create_and_enrol($course, 'editingteacher');
|
||||
$this->setUser($teacher);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
mod_lti_external::create_tool_proxy('Test proxy', $this->getExternalTestFileUrl('/test.html'), array(), array());
|
||||
}
|
||||
|
||||
@@ -447,11 +443,11 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_delete_tool_proxy() {
|
||||
$this->setAdminUser();
|
||||
$proxy = mod_lti_external::create_tool_proxy('Test proxy', $this->getExternalTestFileUrl('/test.html'), array(), array());
|
||||
$proxy = (object) external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
$proxy = (object) \external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
$this->assertNotEmpty(lti_get_tool_proxy($proxy->id));
|
||||
|
||||
$proxy = mod_lti_external::delete_tool_proxy($proxy->id);
|
||||
$proxy = (object) external_api::clean_returnvalue(mod_lti_external::delete_tool_proxy_returns(), $proxy);
|
||||
$proxy = (object) \external_api::clean_returnvalue(mod_lti_external::delete_tool_proxy_returns(), $proxy);
|
||||
|
||||
$this->assertEquals('Test proxy', $proxy->name);
|
||||
$this->assertEquals($this->getExternalTestFileUrl('/test.html'), $proxy->regurl);
|
||||
@@ -465,10 +461,10 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_get_tool_proxy_registration_request() {
|
||||
$this->setAdminUser();
|
||||
$proxy = mod_lti_external::create_tool_proxy('Test proxy', $this->getExternalTestFileUrl('/test.html'), array(), array());
|
||||
$proxy = (object) external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
$proxy = (object) \external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
|
||||
$request = mod_lti_external::get_tool_proxy_registration_request($proxy->id);
|
||||
$request = external_api::clean_returnvalue(mod_lti_external::get_tool_proxy_registration_request_returns(),
|
||||
$request = \external_api::clean_returnvalue(mod_lti_external::get_tool_proxy_registration_request_returns(),
|
||||
$request);
|
||||
|
||||
$this->assertEquals('ToolProxyRegistrationRequest', $request['lti_message_type']);
|
||||
@@ -482,11 +478,11 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
// Create a tool proxy.
|
||||
$this->setAdminUser();
|
||||
$proxy = mod_lti_external::create_tool_proxy('Test proxy', $this->getExternalTestFileUrl('/test.html'), array(), array());
|
||||
$proxy = (object) external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
$proxy = (object) \external_api::clean_returnvalue(mod_lti_external::create_tool_proxy_returns(), $proxy);
|
||||
|
||||
// Create a tool type, associated with that proxy.
|
||||
$type = new stdClass();
|
||||
$data = new stdClass();
|
||||
$type = new \stdClass();
|
||||
$data = new \stdClass();
|
||||
$type->state = LTI_TOOL_STATE_CONFIGURED;
|
||||
$type->name = "Test tool";
|
||||
$type->description = "Example description";
|
||||
@@ -495,7 +491,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
lti_add_type($type, $data);
|
||||
|
||||
$types = mod_lti_external::get_tool_types($proxy->id);
|
||||
$types = external_api::clean_returnvalue(mod_lti_external::get_tool_types_returns(), $types);
|
||||
$types = \external_api::clean_returnvalue(mod_lti_external::get_tool_types_returns(), $types);
|
||||
|
||||
$this->assertCount(1, $types);
|
||||
$type = $types[0];
|
||||
@@ -509,7 +505,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_create_tool_type() {
|
||||
$this->setAdminUser();
|
||||
$type = mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'), '', '');
|
||||
$type = external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
$type = \external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
|
||||
$this->assertEquals('Example tool', $type['name']);
|
||||
$this->assertEquals('Example tool description', $type['description']);
|
||||
@@ -527,7 +523,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
* Test create_tool_type failure from non existent file.
|
||||
*/
|
||||
public function test_mod_lti_create_tool_type_nonexistant_file() {
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/doesntexist.xml'), '', '');
|
||||
}
|
||||
|
||||
@@ -535,7 +531,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
* Test create_tool_type failure from xml that is not a cartridge.
|
||||
*/
|
||||
public function test_mod_lti_create_tool_type_bad_file() {
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/rsstest.xml'), '', '');
|
||||
}
|
||||
|
||||
@@ -546,7 +542,7 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$teacher = $this->getDataGenerator()->create_and_enrol($course, 'editingteacher');
|
||||
$this->setUser($teacher);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'), '', '');
|
||||
}
|
||||
|
||||
@@ -556,10 +552,10 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_update_tool_type() {
|
||||
$this->setAdminUser();
|
||||
$type = mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'), '', '');
|
||||
$type = external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
$type = \external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
|
||||
$type = mod_lti_external::update_tool_type($type['id'], 'New name', 'New description', LTI_TOOL_STATE_PENDING);
|
||||
$type = external_api::clean_returnvalue(mod_lti_external::update_tool_type_returns(), $type);
|
||||
$type = \external_api::clean_returnvalue(mod_lti_external::update_tool_type_returns(), $type);
|
||||
|
||||
$this->assertEquals('New name', $type['name']);
|
||||
$this->assertEquals('New description', $type['description']);
|
||||
@@ -572,11 +568,11 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_delete_tool_type() {
|
||||
$this->setAdminUser();
|
||||
$type = mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'), '', '');
|
||||
$type = external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
$type = \external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
$this->assertNotEmpty(lti_get_type($type['id']));
|
||||
|
||||
$type = mod_lti_external::delete_tool_type($type['id']);
|
||||
$type = external_api::clean_returnvalue(mod_lti_external::delete_tool_type_returns(), $type);
|
||||
$type = \external_api::clean_returnvalue(mod_lti_external::delete_tool_type_returns(), $type);
|
||||
$this->assertEmpty(lti_get_type($type['id']));
|
||||
}
|
||||
|
||||
@@ -586,13 +582,13 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_delete_tool_type_without_capability() {
|
||||
$this->setAdminUser();
|
||||
$type = mod_lti_external::create_tool_type($this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'), '', '');
|
||||
$type = external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
$type = \external_api::clean_returnvalue(mod_lti_external::create_tool_type_returns(), $type);
|
||||
$this->assertNotEmpty(lti_get_type($type['id']));
|
||||
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$teacher = $this->getDataGenerator()->create_and_enrol($course, 'editingteacher');
|
||||
$this->setUser($teacher);
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
mod_lti_external::delete_tool_type($type['id']);
|
||||
}
|
||||
|
||||
@@ -602,11 +598,11 @@ class mod_lti_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_mod_lti_is_cartridge() {
|
||||
$this->setAdminUser();
|
||||
$result = mod_lti_external::is_cartridge($this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'));
|
||||
$result = external_api::clean_returnvalue(mod_lti_external::is_cartridge_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_lti_external::is_cartridge_returns(), $result);
|
||||
$this->assertTrue($result['iscartridge']);
|
||||
|
||||
$result = mod_lti_external::is_cartridge($this->getExternalTestFileUrl('/test.html'));
|
||||
$result = external_api::clean_returnvalue(mod_lti_external::is_cartridge_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_lti_external::is_cartridge_returns(), $result);
|
||||
$this->assertFalse($result['iscartridge']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests
|
||||
*
|
||||
* @package mod_lti
|
||||
* @category phpunit
|
||||
* @copyright Copyright (c) 2012 Moodlerooms Inc. (http://www.moodlerooms.com)
|
||||
* @author Mark Nielsen
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace mod_lti;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase
|
||||
@@ -35,7 +25,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @author Mark Nielsen
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_lti_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB;
|
||||
|
||||
@@ -62,7 +52,7 @@ class mod_lti_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('lti', $cm->modname);
|
||||
$this->assertEquals($course->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($lti->cmid, $context->instanceid);
|
||||
|
||||
// Test gradebook integration using low level DB access - DO NOT USE IN PLUGIN CODE!
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_page functions unit tests
|
||||
*
|
||||
* @package mod_page
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <juan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_page;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_page_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test view_page
|
||||
@@ -52,14 +47,14 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
|
||||
$context = context_module::instance($page->cmid);
|
||||
$context = \context_module::instance($page->cmid);
|
||||
$cm = get_coursemodule_from_instance('page', $page->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_page_external::view_page(0);
|
||||
$this->fail('Exception expected due to invalid mod_page instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -69,7 +64,7 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_page_external::view_page($page->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -81,7 +76,7 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_page_external::view_page($page->id);
|
||||
$result = external_api::clean_returnvalue(mod_page_external::view_page_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_page_external::view_page_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -100,12 +95,12 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
assign_capability('mod/page:view', CAP_PROHIBIT, $studentrole->id, $context->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
try {
|
||||
mod_page_external::view_page($page->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -127,12 +122,12 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course1->id, $studentrole->id);
|
||||
|
||||
// First page.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course1->id;
|
||||
$page1 = self::getDataGenerator()->create_module('page', $record);
|
||||
|
||||
// Second page.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$page2 = self::getDataGenerator()->create_module('page', $record);
|
||||
|
||||
@@ -186,21 +181,21 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_page_external::get_pages_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_page_external::get_pages_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Add a file to the intro.
|
||||
$filename = "file.txt";
|
||||
$filerecordinline = array(
|
||||
'contextid' => context_module::instance($page2->cmid)->id,
|
||||
'contextid' => \context_module::instance($page2->cmid)->id,
|
||||
'component' => 'mod_page',
|
||||
'filearea' => 'intro',
|
||||
'itemid' => 0,
|
||||
@@ -212,7 +207,7 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
$fs->create_file_from_string($filerecordinline, 'image contents (not really)');
|
||||
|
||||
$result = mod_page_external::get_pages_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertCount(1, $result['pages'][0]['introfiles']);
|
||||
$this->assertEquals($filename, $result['pages'][0]['introfiles'][0]['filename']);
|
||||
@@ -223,7 +218,7 @@ class mod_page_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_page_external::get_pages_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests
|
||||
*
|
||||
* @package mod_page
|
||||
* @category phpunit
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace mod_page;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2012 Petr Skoda {@link http://skodak.org}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_page_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB, $SITE;
|
||||
|
||||
@@ -57,7 +47,7 @@ class mod_page_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('page', $cm->modname);
|
||||
$this->assertEquals($SITE->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($page->cmid, $context->instanceid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests
|
||||
*
|
||||
* @package mod_quiz
|
||||
* @category phpunit
|
||||
* @copyright 2012 Matt Petro
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace mod_quiz;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2012 Matt Petro
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_quiz_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB, $SITE;
|
||||
|
||||
@@ -58,7 +48,7 @@ class mod_quiz_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('quiz', $cm->modname);
|
||||
$this->assertEquals($SITE->id, $cm->course);
|
||||
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($quiz->cmid, $context->instanceid);
|
||||
|
||||
$this->assertEqualsWithDelta($createtime,
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_resource functions unit tests
|
||||
*
|
||||
* @package mod_resource
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <juan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_resource;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_resource_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test view_resource
|
||||
@@ -53,14 +48,14 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$resource = $this->getDataGenerator()->create_module('resource', array('course' => $course->id));
|
||||
$context = context_module::instance($resource->cmid);
|
||||
$context = \context_module::instance($resource->cmid);
|
||||
$cm = get_coursemodule_from_instance('resource', $resource->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_resource_external::view_resource(0);
|
||||
$this->fail('Exception expected due to invalid mod_resource instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -70,7 +65,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_resource_external::view_resource($resource->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -82,7 +77,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_resource_external::view_resource($resource->id);
|
||||
$result = external_api::clean_returnvalue(mod_resource_external::view_resource_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_resource_external::view_resource_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -101,12 +96,12 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
assign_capability('mod/resource:view', CAP_PROHIBIT, $studentrole->id, $context->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
try {
|
||||
mod_resource_external::view_resource($resource->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -130,12 +125,12 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
self::setUser($student);
|
||||
|
||||
// First resource.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course1->id;
|
||||
$resource1 = self::getDataGenerator()->create_module('resource', $record);
|
||||
|
||||
// Second resource.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$resource2 = self::getDataGenerator()->create_module('resource', $record);
|
||||
|
||||
@@ -187,7 +182,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_resource_external::get_resources_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
// Remove the contentfiles (to be checked bellow).
|
||||
$result['resources'][0]['contentfiles'] = [];
|
||||
@@ -199,7 +194,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_resource_external::get_resources_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
// Remove the contentfiles (to be checked bellow).
|
||||
$result['resources'][0]['contentfiles'] = [];
|
||||
@@ -212,7 +207,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
// Add a file to the intro.
|
||||
$fileintroname = "fileintro.txt";
|
||||
$filerecordinline = array(
|
||||
'contextid' => context_module::instance($resource2->cmid)->id,
|
||||
'contextid' => \context_module::instance($resource2->cmid)->id,
|
||||
'component' => 'mod_resource',
|
||||
'filearea' => 'intro',
|
||||
'itemid' => 0,
|
||||
@@ -224,7 +219,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
$fs->create_file_from_string($filerecordinline, 'image contents (not really)');
|
||||
|
||||
$result = mod_resource_external::get_resources_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
// Check that we receive correctly the files.
|
||||
$this->assertCount(1, $result['resources'][0]['introfiles']);
|
||||
@@ -241,7 +236,7 @@ class mod_resource_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_resource_external::get_resources_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
// Remove the contentfiles (to be checked bellow).
|
||||
$result['resources'][0]['contentfiles'] = [];
|
||||
|
||||
@@ -14,17 +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/>.
|
||||
|
||||
/**
|
||||
* PHPUnit data generator tests.
|
||||
*
|
||||
* @package mod_resource
|
||||
* @category phpunit
|
||||
* @copyright 2013 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace mod_resource;
|
||||
|
||||
/**
|
||||
* PHPUnit data generator testcase.
|
||||
@@ -34,7 +24,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2013 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_resource_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_generator() {
|
||||
global $DB, $SITE;
|
||||
|
||||
@@ -64,7 +54,7 @@ class mod_resource_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($SITE->id, $cm->course);
|
||||
|
||||
// Check the context is correct.
|
||||
$context = context_module::instance($cm->id);
|
||||
$context = \context_module::instance($cm->id);
|
||||
$this->assertEquals($resource->cmid, $context->instanceid);
|
||||
|
||||
// Check that generated resource module contains a file.
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* SCORM module external functions tests
|
||||
*
|
||||
* @package mod_scorm
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <juan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_scorm;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_scorm_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -40,7 +35,7 @@ require_once($CFG->dirroot . '/mod/scorm/lib.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
@@ -55,7 +50,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$this->course = $this->getDataGenerator()->create_course(array('enablecompletion' => 1));
|
||||
$this->scorm = $this->getDataGenerator()->create_module('scorm', array('course' => $this->course->id),
|
||||
array('completion' => 2, 'completionview' => 1));
|
||||
$this->context = context_module::instance($this->scorm->cmid);
|
||||
$this->context = \context_module::instance($this->scorm->cmid);
|
||||
$this->cm = get_coursemodule_from_instance('scorm', $this->scorm->id);
|
||||
|
||||
// Create users.
|
||||
@@ -79,7 +74,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::view_scorm(0);
|
||||
$this->fail('Exception expected due to invalid mod_scorm instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -89,7 +84,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::view_scorm($this->scorm->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -101,7 +96,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_scorm_external::view_scorm($this->scorm->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::view_scorm_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::view_scorm_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -125,7 +120,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Retrieve my attempts (should be 0).
|
||||
$result = mod_scorm_external::get_scorm_attempt_count($this->scorm->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$this->assertEquals(0, $result['attemptscount']);
|
||||
}
|
||||
|
||||
@@ -140,7 +135,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
scorm_insert_track($this->student->id, $this->scorm->id, $sco->id, 2, 'cmi.core.lesson_status', 'completed');
|
||||
|
||||
$result = mod_scorm_external::get_scorm_attempt_count($this->scorm->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$this->assertEquals(2, $result['attemptscount']);
|
||||
}
|
||||
|
||||
@@ -155,7 +150,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
scorm_insert_track($this->student->id, $this->scorm->id, $sco->id, 2, 'cmi.core.credit', '0');
|
||||
|
||||
$result = mod_scorm_external::get_scorm_attempt_count($this->scorm->id, $this->student->id, true);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$this->assertEquals(1, $result['attemptscount']);
|
||||
}
|
||||
|
||||
@@ -170,7 +165,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// I should be able to view the attempts for my students.
|
||||
$result = mod_scorm_external::get_scorm_attempt_count($this->scorm->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_attempt_count_returns(), $result);
|
||||
$this->assertEquals(1, $result['attemptscount']);
|
||||
}
|
||||
|
||||
@@ -183,7 +178,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
self::setUser($student2);
|
||||
|
||||
// I should not be able to view the attempts of another student.
|
||||
$this->expectException(required_capability_exception::class);
|
||||
$this->expectException(\required_capability_exception::class);
|
||||
mod_scorm_external::get_scorm_attempt_count($this->scorm->id, $this->student->id);
|
||||
}
|
||||
|
||||
@@ -192,7 +187,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
self::setUser($this->student);
|
||||
|
||||
// Test invalid instance id.
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_scorm_external::get_scorm_attempt_count(0, $this->student->id);
|
||||
}
|
||||
|
||||
@@ -200,7 +195,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
// As student.
|
||||
self::setUser($this->student);
|
||||
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_scorm_external::get_scorm_attempt_count($this->scorm->id, -1);
|
||||
}
|
||||
|
||||
@@ -220,7 +215,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// First scorm, dates restriction.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$record->timeopen = time() + DAYSECS;
|
||||
$record->timeclose = $record->timeopen + DAYSECS;
|
||||
@@ -239,7 +234,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::get_scorm_scoes($scorm->id);
|
||||
$this->fail('Exception expected due to invalid dates.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('notopenyet', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -250,14 +245,14 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::get_scorm_scoes($scorm->id);
|
||||
$this->fail('Exception expected due to invalid dates.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('expired', $e->errorcode);
|
||||
}
|
||||
|
||||
// Retrieve my scoes, user with permission.
|
||||
self::setUser($teacher);
|
||||
$result = mod_scorm_external::get_scorm_scoes($scorm->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_scoes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_scoes_returns(), $result);
|
||||
$this->assertCount(2, $result['scoes']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -289,7 +284,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
// Use organization.
|
||||
$organization = 'golf_sample_default_org';
|
||||
$result = mod_scorm_external::get_scorm_scoes($scorm->id, $organization);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_scoes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_scoes_returns(), $result);
|
||||
$this->assertCount(1, $result['scoes']);
|
||||
$this->assertEquals($organization, $result['scoes'][0]['organization']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
@@ -298,7 +293,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::get_scorm_scoes(0);
|
||||
$this->fail('Exception expected due to invalid instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -313,13 +308,13 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
// As student.
|
||||
self::setUser($this->student);
|
||||
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $this->course->id;
|
||||
$record->packagefilepath = $CFG->dirroot.'/mod/scorm/tests/packages/complexscorm.zip';
|
||||
$scorm = self::getDataGenerator()->create_module('scorm', $record);
|
||||
|
||||
$result = mod_scorm_external::get_scorm_scoes($scorm->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_scoes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_scoes_returns(), $result);
|
||||
$this->assertCount(9, $result['scoes']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -363,7 +358,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// First scorm.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$scorm = self::getDataGenerator()->create_module('scorm', $record);
|
||||
|
||||
@@ -381,7 +376,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
scorm_insert_track($student1->id, $scorm->id, $sco->id, 2, 'cmi.core.lesson_status', 'completed');
|
||||
|
||||
$result = mod_scorm_external::get_scorm_user_data($scorm->id, 1);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_user_data_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_user_data_returns(), $result);
|
||||
$this->assertCount(2, $result['data']);
|
||||
// Find our tracking data.
|
||||
$found = 0;
|
||||
@@ -401,7 +396,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::get_scorm_user_data(0, 1);
|
||||
$this->fail('Exception expected due to invalid instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -421,7 +416,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// First scorm, dates restriction.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$record->timeopen = time() + DAYSECS;
|
||||
$record->timeclose = $record->timeopen + DAYSECS;
|
||||
@@ -453,7 +448,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::insert_scorm_tracks($sco->id, 1, $tracks);
|
||||
$this->fail('Exception expected due to dates');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('notopenyet', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -464,7 +459,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::insert_scorm_tracks($sco->id, 1, $tracks);
|
||||
$this->fail('Exception expected due to dates');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('expired', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -472,7 +467,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::insert_scorm_tracks(0, 1, $tracks);
|
||||
$this->fail('Exception expected due to invalid sco id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('cannotfindsco', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -482,7 +477,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Retrieve my tracks.
|
||||
$result = mod_scorm_external::insert_scorm_tracks($sco->id, 1, $tracks);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::insert_scorm_tracks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::insert_scorm_tracks_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
$trackids = $DB->get_records('scorm_scoes_track', array('userid' => $student->id, 'scoid' => $sco->id,
|
||||
@@ -512,7 +507,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// First scorm.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$scorm = self::getDataGenerator()->create_module('scorm', $record);
|
||||
|
||||
@@ -530,7 +525,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
scorm_insert_track($student->id, $scorm->id, $sco->id, 2, 'cmi.core.lesson_status', 'completed');
|
||||
|
||||
$result = mod_scorm_external::get_scorm_sco_tracks($sco->id, $student->id, 1);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
// 7 default elements + 2 custom ones.
|
||||
$this->assertCount(9, $result['data']['tracks']);
|
||||
$this->assertEquals(1, $result['data']['attempt']);
|
||||
@@ -549,7 +544,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Try invalid attempt.
|
||||
$result = mod_scorm_external::get_scorm_sco_tracks($sco->id, $student->id, 10);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
$this->assertCount(0, $result['data']['tracks']);
|
||||
$this->assertEquals(10, $result['data']['attempt']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
@@ -559,14 +554,14 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::get_scorm_sco_tracks($sco->id, $otherstudent->id);
|
||||
$this->fail('Exception expected due to invalid instance id.');
|
||||
} catch (required_capability_exception $e) {
|
||||
} catch (\required_capability_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
self::setUser($teacher);
|
||||
// Ommit the attempt parameter, the function should calculate the last attempt.
|
||||
$result = mod_scorm_external::get_scorm_sco_tracks($sco->id, $student->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
// 7 default elements + 1 custom one.
|
||||
$this->assertCount(8, $result['data']['tracks']);
|
||||
$this->assertEquals(2, $result['data']['attempt']);
|
||||
@@ -575,14 +570,14 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::get_scorm_sco_tracks(0, 1);
|
||||
$this->fail('Exception expected due to invalid instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('cannotfindsco', $e->errorcode);
|
||||
}
|
||||
// Invalid user.
|
||||
try {
|
||||
mod_scorm_external::get_scorm_sco_tracks($sco->id, 0);
|
||||
$this->fail('Exception expected due to invalid instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invaliduser', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -607,7 +602,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$course2 = self::getDataGenerator()->create_course();
|
||||
|
||||
// First scorm.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->introformat = FORMAT_HTML;
|
||||
$record->course = $course1->id;
|
||||
$record->hidetoc = 2;
|
||||
@@ -616,7 +611,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$scorm1 = self::getDataGenerator()->create_module('scorm', $record);
|
||||
|
||||
// Second scorm.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->introformat = FORMAT_HTML;
|
||||
$record->course = $course2->id;
|
||||
$scorm2 = self::getDataGenerator()->create_module('scorm', $record);
|
||||
@@ -649,7 +644,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$DB->update_record('scorm', $scorm1);
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
// Only 'id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles'.
|
||||
$this->assertCount(7, $result['scorms'][0]);
|
||||
@@ -660,7 +655,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$DB->update_record('scorm', $scorm1);
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
// Only 'id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles'.
|
||||
$this->assertCount(7, $result['scorms'][0]);
|
||||
@@ -694,15 +689,15 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$scorm2->groupingid = 0;
|
||||
|
||||
// SCORM size. The same package is used in both SCORMs.
|
||||
$scormcontext1 = context_module::instance($scorm1->cmid);
|
||||
$scormcontext2 = context_module::instance($scorm2->cmid);
|
||||
$scormcontext1 = \context_module::instance($scorm1->cmid);
|
||||
$scormcontext2 = \context_module::instance($scorm2->cmid);
|
||||
$fs = get_file_storage();
|
||||
$packagefile = $fs->get_file($scormcontext1->id, 'mod_scorm', 'package', 0, '/', $scorm1->reference);
|
||||
$packagesize = $packagefile->get_filesize();
|
||||
|
||||
$packageurl1 = moodle_url::make_webservice_pluginfile_url(
|
||||
$packageurl1 = \moodle_url::make_webservice_pluginfile_url(
|
||||
$scormcontext1->id, 'mod_scorm', 'package', 0, '/', $scorm1->reference)->out(false);
|
||||
$packageurl2 = moodle_url::make_webservice_pluginfile_url(
|
||||
$packageurl2 = \moodle_url::make_webservice_pluginfile_url(
|
||||
$scormcontext2->id, 'mod_scorm', 'package', 0, '/', $scorm2->reference)->out(false);
|
||||
|
||||
$scorm1->packagesize = $packagesize;
|
||||
@@ -739,12 +734,12 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedscorms, $result['scorms']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_scorm_external::get_scorms_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedscorms, $result['scorms']);
|
||||
|
||||
// Unenrol user from second course and alter expected scorms.
|
||||
@@ -753,7 +748,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_scorm_external::get_scorms_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedscorms, $result['scorms']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
@@ -780,7 +775,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedscorms, $result['scorms']);
|
||||
|
||||
// Even with the SCORM closed in time teacher should retrieve the info.
|
||||
@@ -792,14 +787,14 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedscorms[0]['timeclose'] = $scorm1->timeclose;
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedscorms, $result['scorms']);
|
||||
|
||||
// Admin also should get all the information.
|
||||
self::setAdminUser();
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedscorms, $result['scorms']);
|
||||
}
|
||||
|
||||
@@ -813,7 +808,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::launch_sco(0);
|
||||
$this->fail('Exception expected due to invalid mod_scorm instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -823,7 +818,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::launch_sco($this->scorm->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -842,7 +837,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_scorm_external::launch_sco($this->scorm->id, $sco->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::launch_sco_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::launch_sco_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(3, $events);
|
||||
@@ -860,7 +855,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$this->assertInstanceOf('\core\event\course_module_completion_updated', $event);
|
||||
|
||||
// Check completion status.
|
||||
$completion = new completion_info($this->course);
|
||||
$completion = new \completion_info($this->course);
|
||||
$completiondata = $completion->get_data($this->cm);
|
||||
$this->assertEquals(COMPLETION_VIEWED, $completiondata->completionstate);
|
||||
|
||||
@@ -868,7 +863,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_scorm_external::launch_sco($this->scorm->id, -1);
|
||||
$this->fail('Exception expected due to invalid SCO id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('cannotfindsco', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -884,17 +879,17 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
$student = self::getDataGenerator()->create_user();
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
// Create the scorm.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course->id;
|
||||
$scorm = self::getDataGenerator()->create_module('scorm', $record);
|
||||
$context = context_module::instance($scorm->cmid);
|
||||
$context = \context_module::instance($scorm->cmid);
|
||||
|
||||
$studentrole = $DB->get_record('role', array('shortname' => 'student'));
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course->id, $studentrole->id, 'manual');
|
||||
|
||||
self::setUser($student);
|
||||
$result = mod_scorm_external::get_scorm_access_information($scorm->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_access_information_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_access_information_returns(), $result);
|
||||
|
||||
// Check default values for capabilities.
|
||||
$enabledcaps = array('canskipview', 'cansavetrack', 'canviewscores');
|
||||
@@ -913,7 +908,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
$result = mod_scorm_external::get_scorm_access_information($scorm->id);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_access_information_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_scorm_external::get_scorm_access_information_returns(), $result);
|
||||
unset($result['warnings']);
|
||||
foreach ($result as $capname => $capvalue) {
|
||||
if (in_array($capname, $enabledcaps)) {
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_scorm generator tests
|
||||
*
|
||||
* @package mod_scorm
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_scorm;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_scorm.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_scorm_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB, $CFG, $USER;
|
||||
@@ -66,7 +59,7 @@ class mod_scorm_generator_testcase extends advanced_testcase {
|
||||
'course' => $course->id,
|
||||
'packagefile' => file_get_unused_draft_itemid()
|
||||
);
|
||||
$usercontext = context_user::instance($USER->id);
|
||||
$usercontext = \context_user::instance($USER->id);
|
||||
$filerecord = array('component' => 'user', 'filearea' => 'draft',
|
||||
'contextid' => $usercontext->id, 'itemid' => $params['packagefile'],
|
||||
'filename' => 'singlescobasic.zip', 'filepath' => '/');
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Survey module external functions tests
|
||||
*
|
||||
* @package mod_survey
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <juan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_survey;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_survey_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -40,7 +35,7 @@ require_once($CFG->dirroot . '/mod/survey/lib.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
@@ -53,7 +48,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$this->course = $this->getDataGenerator()->create_course();
|
||||
$this->survey = $this->getDataGenerator()->create_module('survey', array('course' => $this->course->id));
|
||||
$this->context = context_module::instance($this->survey->cmid);
|
||||
$this->context = \context_module::instance($this->survey->cmid);
|
||||
$this->cm = get_coursemodule_from_instance('survey', $this->survey->id);
|
||||
|
||||
// Create users.
|
||||
@@ -78,7 +73,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
$course2 = self::getDataGenerator()->create_course();
|
||||
|
||||
// Second survey.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$survey2 = self::getDataGenerator()->create_module('survey', $record);
|
||||
// Force empty intro.
|
||||
@@ -135,14 +130,14 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_survey_external::get_surveys_by_courses(array($course2->id, $this->course->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedsurveys, $result['surveys']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_survey_external::get_surveys_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedsurveys, $result['surveys']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -152,7 +147,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_survey_external::get_surveys_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedsurveys, $result['surveys']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
@@ -171,25 +166,25 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_survey_external::get_surveys_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedsurveys, $result['surveys']);
|
||||
|
||||
// Admin also should get all the information.
|
||||
self::setAdminUser();
|
||||
|
||||
$result = mod_survey_external::get_surveys_by_courses(array($this->course->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedsurveys, $result['surveys']);
|
||||
|
||||
// Now, prohibit capabilities.
|
||||
$this->setUser($this->student);
|
||||
$contextcourse1 = context_course::instance($this->course->id);
|
||||
$contextcourse1 = \context_course::instance($this->course->id);
|
||||
// Prohibit capability = mod/survey:participate on Course1 for students.
|
||||
assign_capability('mod/survey:participate', CAP_PROHIBIT, $this->studentrole->id, $contextcourse1->id);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
$surveys = mod_survey_external::get_surveys_by_courses(array($this->course->id));
|
||||
$surveys = external_api::clean_returnvalue(mod_survey_external::get_surveys_by_courses_returns(), $surveys);
|
||||
$surveys = \external_api::clean_returnvalue(mod_survey_external::get_surveys_by_courses_returns(), $surveys);
|
||||
$this->assertFalse(isset($surveys['surveys'][0]['intro']));
|
||||
}
|
||||
|
||||
@@ -203,7 +198,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::view_survey(0);
|
||||
$this->fail('Exception expected due to invalid mod_survey instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -213,7 +208,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::view_survey($this->survey->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -224,7 +219,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_survey_external::view_survey($this->survey->id);
|
||||
$result = external_api::clean_returnvalue(mod_survey_external::view_survey_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_survey_external::view_survey_returns(), $result);
|
||||
$this->assertTrue($result['status']);
|
||||
|
||||
$events = $sink->get_events();
|
||||
@@ -247,7 +242,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::view_survey($this->survey->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -278,7 +273,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_survey_external::get_questions($this->survey->id);
|
||||
$result = external_api::clean_returnvalue(mod_survey_external::get_questions_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_survey_external::get_questions_returns(), $result);
|
||||
|
||||
// Check we receive the same questions.
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
@@ -302,7 +297,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::get_questions($this->survey->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -342,7 +337,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_survey_external::submit_answers($this->survey->id, $realquestions);
|
||||
$result = external_api::clean_returnvalue(mod_survey_external::submit_answers_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_survey_external::submit_answers_returns(), $result);
|
||||
|
||||
$this->assertTrue($result['status']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
@@ -357,7 +352,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::submit_answers($this->survey->id, $realquestions);
|
||||
$this->fail('Exception expected due to answers already submitted.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('alreadysubmitted', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -369,7 +364,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::submit_answers($this->survey->id, $realquestions);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -379,7 +374,7 @@ class mod_survey_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_survey_external::submit_answers($this->survey->id, $realquestions);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_survey generator tests
|
||||
*
|
||||
* @package mod_survey
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_survey;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_survey.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_survey_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
@@ -85,11 +78,11 @@ class mod_survey_generator_testcase extends advanced_testcase {
|
||||
$this->getDataGenerator()->create_module('survey', array('course' => $course,
|
||||
'template' => 87654));
|
||||
$this->fail('Exception about non-existing numeric template is expected');
|
||||
} catch (Exception $e) {}
|
||||
} catch (\Exception $e) {}
|
||||
try {
|
||||
$this->getDataGenerator()->create_module('survey', array('course' => $course,
|
||||
'template' => 'nonexistingcode'));
|
||||
$this->fail('Exception about non-existing string template is expected');
|
||||
} catch (Exception $e) {}
|
||||
} catch (\Exception $e) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* External mod_url functions unit tests
|
||||
*
|
||||
* @package mod_url
|
||||
* @category external
|
||||
* @copyright 2015 Juan Leyva <juan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
namespace mod_url;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_url_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -39,7 +34,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.0
|
||||
*/
|
||||
class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test view_url
|
||||
@@ -52,14 +47,14 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$url = $this->getDataGenerator()->create_module('url', array('course' => $course->id));
|
||||
$context = context_module::instance($url->cmid);
|
||||
$context = \context_module::instance($url->cmid);
|
||||
$cm = get_coursemodule_from_instance('url', $url->id);
|
||||
|
||||
// Test invalid instance id.
|
||||
try {
|
||||
mod_url_external::view_url(0);
|
||||
$this->fail('Exception expected due to invalid mod_url instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -69,7 +64,7 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_url_external::view_url($url->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -81,7 +76,7 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_url_external::view_url($url->id);
|
||||
$result = external_api::clean_returnvalue(mod_url_external::view_url_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_url_external::view_url_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -100,12 +95,12 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
assign_capability('mod/url:view', CAP_PROHIBIT, $studentrole->id, $context->id);
|
||||
// Empty all the caches that may be affected by this change.
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache();
|
||||
\course_modinfo::clear_instance_cache();
|
||||
|
||||
try {
|
||||
mod_url_external::view_url($url->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -127,12 +122,12 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course1->id, $studentrole->id);
|
||||
|
||||
// First url.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course1->id;
|
||||
$url1 = self::getDataGenerator()->create_module('url', $record);
|
||||
|
||||
// Second url.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$url2 = self::getDataGenerator()->create_module('url', $record);
|
||||
|
||||
@@ -182,21 +177,21 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_url_external::get_urls_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedurls, $result['urls']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_url_external::get_urls_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedurls, $result['urls']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Add a file to the intro.
|
||||
$filename = "file.txt";
|
||||
$filerecordinline = array(
|
||||
'contextid' => context_module::instance($url2->cmid)->id,
|
||||
'contextid' => \context_module::instance($url2->cmid)->id,
|
||||
'component' => 'mod_url',
|
||||
'filearea' => 'intro',
|
||||
'itemid' => 0,
|
||||
@@ -208,7 +203,7 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
$fs->create_file_from_string($filerecordinline, 'image contents (not really)');
|
||||
|
||||
$result = mod_url_external::get_urls_by_courses(array($course2->id, $course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertCount(1, $result['urls'][0]['introfiles']);
|
||||
$this->assertEquals($filename, $result['urls'][0]['introfiles'][0]['filename']);
|
||||
@@ -219,7 +214,7 @@ class mod_url_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_url_external::get_urls_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedurls, $result['urls']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_url generator tests
|
||||
*
|
||||
* @package mod_url
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_url;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_url.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_url_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
|
||||
+103
-108
@@ -14,15 +14,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Wiki module external functions tests.
|
||||
*
|
||||
* @package mod_wiki
|
||||
* @category external
|
||||
* @copyright 2015 Dani Palou <dani@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.1
|
||||
*/
|
||||
namespace mod_wiki;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
use mod_wiki_external;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -40,7 +35,7 @@ require_once($CFG->dirroot . '/mod/wiki/lib.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.1
|
||||
*/
|
||||
class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
@@ -53,7 +48,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
// Setup test data.
|
||||
$this->course = $this->getDataGenerator()->create_course();
|
||||
$this->wiki = $this->getDataGenerator()->create_module('wiki', array('course' => $this->course->id));
|
||||
$this->context = context_module::instance($this->wiki->cmid);
|
||||
$this->context = \context_module::instance($this->wiki->cmid);
|
||||
$this->cm = get_coursemodule_from_instance('wiki', $this->wiki->id);
|
||||
|
||||
// Create users.
|
||||
@@ -152,7 +147,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$course2 = self::getDataGenerator()->create_course();
|
||||
|
||||
// Second wiki.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $course2->id;
|
||||
$wiki2 = self::getDataGenerator()->create_module('wiki', $record);
|
||||
|
||||
@@ -207,14 +202,14 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function passing course ids.
|
||||
$result = mod_wiki_external::get_wikis_by_courses(array($course2->id, $this->course->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
$this->assertEquals($expectedwikis, $result['wikis']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_wiki_external::get_wikis_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedwikis, $result['wikis']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -224,7 +219,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call the external function without passing course id.
|
||||
$result = mod_wiki_external::get_wikis_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedwikis, $result['wikis']);
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
@@ -243,43 +238,43 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = mod_wiki_external::get_wikis_by_courses();
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedwikis, $result['wikis']);
|
||||
|
||||
// Admin also should get all the information.
|
||||
self::setAdminUser();
|
||||
|
||||
$result = mod_wiki_external::get_wikis_by_courses(array($this->course->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
$result = \external_api::clean_returnvalue($returndescription, $result);
|
||||
$this->assertEquals($expectedwikis, $result['wikis']);
|
||||
|
||||
// Now, prohibit capabilities.
|
||||
$this->setUser($this->student);
|
||||
$contextcourse1 = context_course::instance($this->course->id);
|
||||
$contextcourse1 = \context_course::instance($this->course->id);
|
||||
|
||||
// Default student role allows to view wiki and create pages.
|
||||
$wikis = mod_wiki_external::get_wikis_by_courses(array($this->course->id));
|
||||
$wikis = external_api::clean_returnvalue(mod_wiki_external::get_wikis_by_courses_returns(), $wikis);
|
||||
$wikis = \external_api::clean_returnvalue(mod_wiki_external::get_wikis_by_courses_returns(), $wikis);
|
||||
$this->assertEquals('Test wiki 1', $wikis['wikis'][0]['intro']);
|
||||
$this->assertEquals(1, $wikis['wikis'][0]['cancreatepages']);
|
||||
|
||||
// Prohibit capability = mod:wiki:viewpage on Course1 for students.
|
||||
assign_capability('mod/wiki:viewpage', CAP_PROHIBIT, $this->studentrole->id, $contextcourse1->id, true);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache(null);
|
||||
\course_modinfo::clear_instance_cache(null);
|
||||
|
||||
$wikis = mod_wiki_external::get_wikis_by_courses(array($this->course->id));
|
||||
$wikis = external_api::clean_returnvalue(mod_wiki_external::get_wikis_by_courses_returns(), $wikis);
|
||||
$wikis = \external_api::clean_returnvalue(mod_wiki_external::get_wikis_by_courses_returns(), $wikis);
|
||||
$this->assertEquals(0, count($wikis['wikis']));
|
||||
|
||||
// Prohibit capability = mod:wiki:createpage on Course1 for students.
|
||||
assign_capability('mod/wiki:viewpage', CAP_ALLOW, $this->studentrole->id, $contextcourse1->id, true);
|
||||
assign_capability('mod/wiki:createpage', CAP_PROHIBIT, $this->studentrole->id, $contextcourse1->id);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
course_modinfo::clear_instance_cache(null);
|
||||
\course_modinfo::clear_instance_cache(null);
|
||||
|
||||
$wikis = mod_wiki_external::get_wikis_by_courses(array($this->course->id));
|
||||
$wikis = external_api::clean_returnvalue(mod_wiki_external::get_wikis_by_courses_returns(), $wikis);
|
||||
$wikis = \external_api::clean_returnvalue(mod_wiki_external::get_wikis_by_courses_returns(), $wikis);
|
||||
$this->assertFalse($wikis['wikis'][0]['cancreatepages']);
|
||||
|
||||
}
|
||||
@@ -293,7 +288,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::view_wiki(0);
|
||||
$this->fail('Exception expected due to invalid mod_wiki instance id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('incorrectwikiid', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -303,7 +298,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::view_wiki($this->wiki->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -314,7 +309,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_wiki_external::view_wiki($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::view_wiki_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::view_wiki_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -336,7 +331,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::view_wiki($this->wiki->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('cannotviewpage', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -351,7 +346,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::view_page(0);
|
||||
$this->fail('Exception expected due to invalid view_page page id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('incorrectpageid', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -361,7 +356,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::view_page($this->firstpage->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -372,7 +367,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = mod_wiki_external::view_page($this->firstpage->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::view_page_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::view_page_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
$this->assertCount(1, $events);
|
||||
@@ -394,7 +389,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::view_page($this->firstpage->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('cannotviewpage', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -409,7 +404,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::get_subwikis(0);
|
||||
$this->fail('Exception expected due to invalid get_subwikis wiki id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('incorrectwikiid', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -419,7 +414,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::get_subwikis($this->wiki->id);
|
||||
$this->fail('Exception expected due to not enrolled user.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -439,7 +434,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedsubwikis[] = $expectedsubwiki;
|
||||
|
||||
$result = mod_wiki_external::get_subwikis($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwikis_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwikis_returns(), $result);
|
||||
$this->assertEquals($expectedsubwikis, $result['subwikis']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
|
||||
@@ -451,7 +446,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::get_subwikis($this->wiki->id);
|
||||
$this->fail('Exception expected due to missing capability.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -461,7 +456,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
* Test get_subwiki_pages using an invalid wiki instance.
|
||||
*/
|
||||
public function test_get_subwiki_pages_invalid_instance() {
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages(0);
|
||||
}
|
||||
|
||||
@@ -473,7 +468,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$usernotenrolled = self::getDataGenerator()->create_user();
|
||||
$this->setUser($usernotenrolled);
|
||||
|
||||
$this->expectException(require_login_exception::class);
|
||||
$this->expectException(\require_login_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wiki->id);
|
||||
}
|
||||
|
||||
@@ -486,7 +481,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
array('course' => $this->course->id, 'visible' => false));
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(require_login_exception::class);
|
||||
$this->expectException(\require_login_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($hiddenwiki->id);
|
||||
}
|
||||
|
||||
@@ -495,12 +490,12 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
*/
|
||||
public function test_get_subwiki_pages_without_viewpage_capability() {
|
||||
// Prohibit capability = mod/wiki:viewpage on the course for students.
|
||||
$contextcourse = context_course::instance($this->course->id);
|
||||
$contextcourse = \context_course::instance($this->course->id);
|
||||
assign_capability('mod/wiki:viewpage', CAP_PROHIBIT, $this->studentrole->id, $contextcourse->id);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wiki->id);
|
||||
}
|
||||
|
||||
@@ -512,7 +507,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$indwiki = $this->getDataGenerator()->create_module('wiki',
|
||||
array('course' => $this->course->id, 'wikimode' => 'individual'));
|
||||
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($indwiki->id, 0, -10);
|
||||
}
|
||||
|
||||
@@ -523,7 +518,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
// Create testing data.
|
||||
$this->create_collaborative_wikis_with_groups();
|
||||
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wikisep->id, -111);
|
||||
}
|
||||
|
||||
@@ -536,7 +531,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
array('course' => $this->course->id, 'wikimode' => 'individual'));
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($indwiki->id, 0, $this->teacher->id);
|
||||
}
|
||||
|
||||
@@ -549,7 +544,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->create_collaborative_wikis_with_groups();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wikisep->id, $this->group2->id);
|
||||
}
|
||||
|
||||
@@ -562,7 +557,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->create_individual_wikis_with_groups();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wikisepind->id, $this->group2->id, $this->teacher->id);
|
||||
}
|
||||
|
||||
@@ -575,7 +570,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->create_collaborative_wikis_with_groups();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wikisep->id, 0);
|
||||
}
|
||||
|
||||
@@ -588,7 +583,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->create_individual_wikis_with_groups();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_pages($this->wikisepind->id, 0, $this->teacher->id);
|
||||
}
|
||||
|
||||
@@ -613,17 +608,17 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages[] = $expectedfirstpage;
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that groupid param is ignored since the wiki isn't using groups.
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wiki->id, 1234);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that userid param is ignored since the wiki is collaborative.
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wiki->id, 1234, 1234);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Add a new page to the wiki and test again. We'll use a custom title so it's returned first if sorted by title.
|
||||
@@ -638,13 +633,13 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
array_unshift($expectedpages, $expectednewpage); // Add page to the beginning since it orders by title by default.
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Now we'll order by ID. Since first page was created first it'll have a lower ID.
|
||||
$expectedpages = array($expectedfirstpage, $expectednewpage);
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wiki->id, 0, 0, array('sortby' => 'id'));
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that WS doesn't return page content if includecontent is false, it returns the size instead.
|
||||
@@ -658,7 +653,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
unset($expectedpages[$i]['contentformat']);
|
||||
}
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wiki->id, 0, 0, array('sortby' => 'id', 'includecontent' => 0));
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
}
|
||||
|
||||
@@ -673,7 +668,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Perform a request before creating any page to check that an empty array is returned if subwiki doesn't exist.
|
||||
$result = mod_wiki_external::get_subwiki_pages($indwiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals(array(), $result['pages']);
|
||||
|
||||
// Create first pages as student and teacher.
|
||||
@@ -691,7 +686,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedteacherpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($indwiki->id, 0, $this->teacher->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that the teacher can see the student's pages.
|
||||
@@ -703,19 +698,19 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedstudentpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($indwiki->id, 0, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Now check that student can get his pages.
|
||||
$this->setUser($this->student);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($indwiki->id, 0, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that not using userid uses current user.
|
||||
$result = mod_wiki_external::get_subwiki_pages($indwiki->id, 0);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
}
|
||||
|
||||
@@ -739,18 +734,18 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisep->id, $this->group1->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Let's check that not using groupid returns the same result (current group).
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisep->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that teacher can view a group pages without belonging to it.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisep->id, $this->group1->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that teacher can get the pages from all participants.
|
||||
@@ -762,7 +757,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisep->id, 0);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
}
|
||||
|
||||
@@ -786,7 +781,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikivis->id, $this->group1->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that with visible groups a student can get the pages of groups he doesn't belong to.
|
||||
@@ -798,7 +793,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikivis->id, $this->group2->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that with visible groups a student can get the pages of all participants.
|
||||
@@ -810,7 +805,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikivis->id, 0);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
}
|
||||
|
||||
@@ -833,18 +828,18 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisepind->id, $this->group1->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that not using userid uses current user.
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisepind->id, $this->group1->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that the teacher can see the student pages.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisepind->id, $this->group1->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that a student can see pages from another user that belongs to his groups.
|
||||
@@ -857,7 +852,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikisepind->id, $this->group1->id, $this->student2->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
}
|
||||
|
||||
@@ -880,7 +875,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikivisind->id, $this->group1->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that student can see teacher pages in visible groups, even if the user doesn't belong to the group.
|
||||
@@ -892,7 +887,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikivisind->id, $this->group2->id, $this->teacher->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
|
||||
// Check that with visible groups a student can get the pages of all participants.
|
||||
@@ -904,7 +899,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpages = array($expectedpage);
|
||||
|
||||
$result = mod_wiki_external::get_subwiki_pages($this->wikivisind->id, 0, $this->teacher->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_pages_returns(), $result);
|
||||
$this->assertEquals($expectedpages, $result['pages']);
|
||||
}
|
||||
|
||||
@@ -912,7 +907,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
* Test get_page_contents using an invalid pageid.
|
||||
*/
|
||||
public function test_get_page_contents_invalid_pageid() {
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_page_contents(0);
|
||||
}
|
||||
|
||||
@@ -924,7 +919,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$usernotenrolled = self::getDataGenerator()->create_user();
|
||||
$this->setUser($usernotenrolled);
|
||||
|
||||
$this->expectException(require_login_exception::class);
|
||||
$this->expectException(\require_login_exception::class);
|
||||
mod_wiki_external::get_page_contents($this->firstpage->id);
|
||||
}
|
||||
|
||||
@@ -938,7 +933,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$hiddenpage = $this->getDataGenerator()->get_plugin_generator('mod_wiki')->create_page($hiddenwiki);
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(require_login_exception::class);
|
||||
$this->expectException(\require_login_exception::class);
|
||||
mod_wiki_external::get_page_contents($hiddenpage->id);
|
||||
}
|
||||
|
||||
@@ -947,12 +942,12 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
*/
|
||||
public function test_get_page_contents_without_viewpage_capability() {
|
||||
// Prohibit capability = mod/wiki:viewpage on the course for students.
|
||||
$contextcourse = context_course::instance($this->course->id);
|
||||
$contextcourse = \context_course::instance($this->course->id);
|
||||
assign_capability('mod/wiki:viewpage', CAP_PROHIBIT, $this->studentrole->id, $contextcourse->id);
|
||||
accesslib_clear_all_caches_for_unit_testing();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_page_contents($this->firstpage->id);
|
||||
}
|
||||
|
||||
@@ -965,7 +960,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->create_individual_wikis_with_groups();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_page_contents($this->fpsepg2indt->id);
|
||||
}
|
||||
|
||||
@@ -997,7 +992,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpage['tags'][1]['isstandard'] = (bool) $expectedpage['tags'][1]['isstandard'];
|
||||
|
||||
$result = mod_wiki_external::get_page_contents($this->firstpage->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$this->assertEquals($expectedpage, $result['page']);
|
||||
|
||||
// Add a new page to the wiki and test with it.
|
||||
@@ -1009,7 +1004,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedpage['tags'] = array();
|
||||
|
||||
$result = mod_wiki_external::get_page_contents($newpage->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$this->assertEquals($expectedpage, $result['page']);
|
||||
}
|
||||
|
||||
@@ -1040,13 +1035,13 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = mod_wiki_external::get_page_contents($this->fpsepg1indstu->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$this->assertEquals($expectedfpsepg1indstu, $result['page']);
|
||||
|
||||
// Check that teacher can view a group pages without belonging to it.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_wiki_external::get_page_contents($this->fpsepg1indstu->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_contents_returns(), $result);
|
||||
$this->assertEquals($expectedfpsepg1indstu, $result['page']);
|
||||
}
|
||||
|
||||
@@ -1055,7 +1050,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
*/
|
||||
public function test_get_subwiki_files_no_files() {
|
||||
$result = mod_wiki_external::get_subwiki_files($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$this->assertCount(0, $result['files']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
}
|
||||
@@ -1069,7 +1064,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->create_collaborative_wikis_with_groups();
|
||||
|
||||
$this->setUser($this->student);
|
||||
$this->expectException(moodle_exception::class);
|
||||
$this->expectException(\moodle_exception::class);
|
||||
mod_wiki_external::get_subwiki_files($this->wikisep->id, $this->group2->id);
|
||||
}
|
||||
|
||||
@@ -1094,13 +1089,13 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
'isexternalfile' => false,
|
||||
'filesize' => strlen($content),
|
||||
'timemodified' => $file['timemodified'],
|
||||
'fileurl' => moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'],
|
||||
'fileurl' => \moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'],
|
||||
$file['filearea'], $file['itemid'], $file['filepath'], $file['filename']),
|
||||
);
|
||||
|
||||
// Call the WS and check that it returns this file.
|
||||
$result = mod_wiki_external::get_subwiki_files($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$this->assertCount(1, $result['files']);
|
||||
$this->assertEquals($expectedfile, $result['files'][0]);
|
||||
|
||||
@@ -1113,12 +1108,12 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$expectedfile['filename'] = $file['filename'];
|
||||
$expectedfile['timemodified'] = $file['timemodified'];
|
||||
$expectedfile['filesize'] = strlen($content);
|
||||
$expectedfile['fileurl'] = moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'],
|
||||
$expectedfile['fileurl'] = \moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'],
|
||||
$file['filearea'], $file['itemid'], $file['filepath'], $file['filename']);
|
||||
|
||||
// Call the WS and check that it returns both files file.
|
||||
$result = mod_wiki_external::get_subwiki_files($this->wiki->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$this->assertCount(2, $result['files']);
|
||||
// The new file is returned first because they're returned in alphabetical order.
|
||||
$this->assertEquals($expectedfile, $result['files'][0]);
|
||||
@@ -1135,7 +1130,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Add a file as subwiki attachment in the student group 1 subwiki.
|
||||
$fs = get_file_storage();
|
||||
$contextwiki = context_module::instance($this->wikivisind->cmid);
|
||||
$contextwiki = \context_module::instance($this->wikivisind->cmid);
|
||||
$file = array('component' => 'mod_wiki', 'filearea' => 'attachments',
|
||||
'contextid' => $contextwiki->id, 'itemid' => $this->fpvisg1indstu->subwikiid,
|
||||
'filename' => 'image.jpg', 'filepath' => '/', 'timemodified' => time());
|
||||
@@ -1149,20 +1144,20 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
'isexternalfile' => false,
|
||||
'filesize' => strlen($content),
|
||||
'timemodified' => $file['timemodified'],
|
||||
'fileurl' => moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'],
|
||||
'fileurl' => \moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'],
|
||||
$file['filearea'], $file['itemid'], $file['filepath'], $file['filename']),
|
||||
);
|
||||
|
||||
// Call the WS and check that it returns this file.
|
||||
$result = mod_wiki_external::get_subwiki_files($this->wikivisind->id, $this->group1->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$this->assertCount(1, $result['files']);
|
||||
$this->assertEquals($expectedfile, $result['files'][0]);
|
||||
|
||||
// Now check that a teacher can see it too.
|
||||
$this->setUser($this->teacher);
|
||||
$result = mod_wiki_external::get_subwiki_files($this->wikivisind->id, $this->group1->id, $this->student->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
|
||||
$this->assertCount(1, $result['files']);
|
||||
$this->assertEquals($expectedfile, $result['files'][0]);
|
||||
}
|
||||
@@ -1193,7 +1188,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = mod_wiki_external::get_page_for_editing($newpage->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$this->assertEquals($expected, $result['pagesection']);
|
||||
|
||||
// Set expected result: Section Page content.
|
||||
@@ -1204,7 +1199,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = mod_wiki_external::get_page_for_editing($newpage->id, '<span>Title1</span>');
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$this->assertEquals($expected, $result['pagesection']);
|
||||
}
|
||||
|
||||
@@ -1228,7 +1223,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = mod_wiki_external::get_page_for_editing($newpage->id, 'Title1', true);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$this->assertEquals($expected, $result['pagesection']);
|
||||
|
||||
// Test the section is locked.
|
||||
@@ -1236,7 +1231,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::get_page_for_editing($newpage->id, 'Title1', true);
|
||||
$this->fail('Exception expected due to not page locking.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('pageislocked', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -1244,13 +1239,13 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::get_page_for_editing($newpage->id, null, true);
|
||||
$this->fail('Exception expected due to not page locking.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('pageislocked', $e->errorcode);
|
||||
}
|
||||
|
||||
// Test the other section is not locked.
|
||||
$result = mod_wiki_external::get_page_for_editing($newpage->id, 'Title2', true);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$this->assertEquals($expected, $result['pagesection']);
|
||||
|
||||
// Back to the original user to test version change when editing.
|
||||
@@ -1262,7 +1257,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
'version' => '2'
|
||||
);
|
||||
$result = mod_wiki_external::get_page_for_editing($newpage->id, 'Title1', true);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::get_page_for_editing_returns(), $result);
|
||||
$this->assertEquals($expected, $result['pagesection']);
|
||||
}
|
||||
|
||||
@@ -1283,7 +1278,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Test on existing subwiki.
|
||||
$result = mod_wiki_external::new_page($pagetitle, $pagecontent, 'html', $this->fpsepg1indstu->subwikiid);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::new_page_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::new_page_returns(), $result);
|
||||
$this->assertIsInt($result['pageid']);
|
||||
|
||||
$version = wiki_get_current_version($result['pageid']);
|
||||
@@ -1297,7 +1292,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::new_page($pagetitle, $pagecontent, 'html', $this->fpsepg1indstu->subwikiid);
|
||||
$this->fail('Exception expected due to creation of an existing page.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('pageexists', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -1305,7 +1300,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->create_group_member(array('userid' => $this->student->id, 'groupid' => $this->group2->id));
|
||||
$result = mod_wiki_external::new_page($pagetitle, $pagecontent, 'html', null, $this->wikisepind->id, $this->student->id,
|
||||
$this->group2->id);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::new_page_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::new_page_returns(), $result);
|
||||
$this->assertIsInt($result['pageid']);
|
||||
|
||||
$version = wiki_get_current_version($result['pageid']);
|
||||
@@ -1316,7 +1311,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals($pagetitle, $page->title);
|
||||
|
||||
$subwiki = wiki_get_subwiki($page->subwikiid);
|
||||
$expected = new StdClass();
|
||||
$expected = new \stdClass();
|
||||
$expected->id = $subwiki->id;
|
||||
$expected->wikiid = $this->wikisepind->id;
|
||||
$expected->groupid = $this->group2->id;
|
||||
@@ -1332,7 +1327,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
mod_wiki_external::new_page($pagetitle, $pagecontent, 'html', null, $this->wikisepind->id,
|
||||
$this->studentnotincourse->id, $this->groupnotincourse->id);
|
||||
$this->fail('Exception expected due to creation of an invalid subwiki creation.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('cannoteditpage', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -1358,7 +1353,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$newpagecontent = $sectioncontent.'<h1><span>Title2</span></h1>Text inside section';
|
||||
|
||||
$result = mod_wiki_external::edit_page($newpage->id, $newpagecontent);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::edit_page_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::edit_page_returns(), $result);
|
||||
$this->assertIsInt($result['pageid']);
|
||||
|
||||
$version = wiki_get_current_version($result['pageid']);
|
||||
@@ -1369,7 +1364,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
$section = '<span>Title2</span>';
|
||||
|
||||
$result = mod_wiki_external::edit_page($newpage->id, $newsectioncontent, $section);
|
||||
$result = external_api::clean_returnvalue(mod_wiki_external::edit_page_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(mod_wiki_external::edit_page_returns(), $result);
|
||||
$this->assertIsInt($result['pageid']);
|
||||
|
||||
$expected = $sectioncontent . $newsectioncontent;
|
||||
@@ -1386,7 +1381,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
wiki_set_lock($newpage->id, 1, $section, true);
|
||||
mod_wiki_external::edit_page($newpage->id, $newsectioncontent, $section);
|
||||
$this->fail('Exception expected due to locked section');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('pageislocked', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -1397,7 +1392,7 @@ class mod_wiki_external_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
mod_wiki_external::edit_page($newpage->id, $newsectioncontent, $section);
|
||||
$this->fail('Exception expected due to non existing section in the page.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidsection', $e->errorcode);
|
||||
}
|
||||
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_wiki generator tests
|
||||
*
|
||||
* @package mod_wiki
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_wiki;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_wiki.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_wiki_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
@@ -77,9 +70,9 @@ class mod_wiki_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($page3->id, $records[$page3->id]->id);
|
||||
$this->assertEquals('Custom title', $records[$page3->id]->title);
|
||||
$this->assertEquals(array('Cats', 'mice'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_wiki', 'wiki_pages', $page3->id)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_wiki', 'wiki_pages', $page3->id)));
|
||||
$this->assertEquals(array('Cats', 'dogs'),
|
||||
array_values(core_tag_tag::get_item_tags_array('mod_wiki', 'wiki_pages', $page4->id)));
|
||||
array_values(\core_tag_tag::get_item_tags_array('mod_wiki', 'wiki_pages', $page4->id)));
|
||||
}
|
||||
|
||||
public function test_create_content_individual() {
|
||||
|
||||
@@ -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/>.
|
||||
|
||||
/**
|
||||
* mod_workshop generator tests
|
||||
*
|
||||
* @package mod_workshop
|
||||
* @category test
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
namespace mod_workshop;
|
||||
|
||||
/**
|
||||
* Genarator tests class for mod_workshop.
|
||||
@@ -31,7 +24,7 @@
|
||||
* @copyright 2013 Marina Glancy
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_workshop_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
public function test_create_instance() {
|
||||
global $DB;
|
||||
|
||||
@@ -23,6 +23,11 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace core_notes;
|
||||
|
||||
use core_notes_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -30,7 +35,7 @@ global $CFG;
|
||||
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/notes/externallib.php');
|
||||
|
||||
class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test create_notes
|
||||
@@ -44,7 +49,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$contextid = context_course::instance($course->id)->id;
|
||||
$contextid = \context_course::instance($course->id)->id;
|
||||
$roleid = $this->assignUserCapability('moodle/notes:manage', $contextid);
|
||||
$this->assignUserCapability('moodle/course:view', $contextid, $roleid);
|
||||
|
||||
@@ -59,7 +64,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$creatednotes = core_notes_external::create_notes($notes);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$creatednotes = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$creatednotes = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
|
||||
$thenote = $DB->get_record('post', array('id' => $creatednotes[0]['noteid']));
|
||||
|
||||
@@ -72,7 +77,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$this->unassignUserCapability('moodle/notes:manage', $contextid, $roleid);
|
||||
$this->expectException('required_capability_exception');
|
||||
$this->expectException('\required_capability_exception');
|
||||
$creatednotes = core_notes_external::create_notes($notes);
|
||||
}
|
||||
|
||||
@@ -85,7 +90,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$contextid = context_course::instance($course->id)->id;
|
||||
$contextid = \context_course::instance($course->id)->id;
|
||||
$roleid = $this->assignUserCapability('moodle/notes:manage', $contextid);
|
||||
$this->assignUserCapability('moodle/course:view', $contextid, $roleid);
|
||||
|
||||
@@ -98,11 +103,11 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$cnote['clientnoteid'] = 4;
|
||||
$cnotes = array($cnote);
|
||||
$creatednotes = core_notes_external::create_notes($cnotes);
|
||||
$creatednotes = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$creatednotes = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
|
||||
$dnotes1 = array($creatednotes[0]['noteid']);
|
||||
$deletednotes1 = core_notes_external::delete_notes($dnotes1);
|
||||
$deletednotes1 = external_api::clean_returnvalue(core_notes_external::delete_notes_returns(), $deletednotes1);
|
||||
$deletednotes1 = \external_api::clean_returnvalue(core_notes_external::delete_notes_returns(), $deletednotes1);
|
||||
|
||||
// Confirm that base note data was deleted correctly.
|
||||
$notdeletedcount = $DB->count_records_select('post', 'id = ' . $creatednotes[0]['noteid']);
|
||||
@@ -110,7 +115,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$dnotes2 = array(33); // This note does not exist.
|
||||
$deletednotes2 = core_notes_external::delete_notes($dnotes2);
|
||||
$deletednotes2 = external_api::clean_returnvalue(core_notes_external::delete_notes_returns(), $deletednotes2);
|
||||
$deletednotes2 = \external_api::clean_returnvalue(core_notes_external::delete_notes_returns(), $deletednotes2);
|
||||
|
||||
$this->assertEquals("note", $deletednotes2[0]["item"]);
|
||||
$this->assertEquals(33, $deletednotes2[0]["itemid"]);
|
||||
@@ -119,13 +124,13 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$creatednotes = core_notes_external::create_notes($cnotes);
|
||||
$creatednotes = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$creatednotes = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$dnotes3 = array($creatednotes[0]['noteid']);
|
||||
|
||||
$this->unassignUserCapability('moodle/notes:manage', $contextid, $roleid);
|
||||
$this->expectException('required_capability_exception');
|
||||
$this->expectException('\required_capability_exception');
|
||||
$deletednotes = core_notes_external::delete_notes($dnotes3);
|
||||
$deletednotes = external_api::clean_returnvalue(core_notes_external::delete_notes_returns(), $deletednotes);
|
||||
$deletednotes = \external_api::clean_returnvalue(core_notes_external::delete_notes_returns(), $deletednotes);
|
||||
}
|
||||
|
||||
public function test_get_notes() {
|
||||
@@ -137,7 +142,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$contextid = context_course::instance($course->id)->id;
|
||||
$contextid = \context_course::instance($course->id)->id;
|
||||
$roleid = $this->assignUserCapability('moodle/notes:manage', $contextid);
|
||||
$this->assignUserCapability('moodle/notes:view', $contextid, $roleid);
|
||||
$this->assignUserCapability('moodle/course:view', $contextid, $roleid);
|
||||
@@ -154,14 +159,14 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$creatednotes2 = core_notes_external::create_notes($cnotes);
|
||||
$creatednotes3 = core_notes_external::create_notes($cnotes);
|
||||
|
||||
$creatednotes1 = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes1);
|
||||
$creatednotes2 = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes2);
|
||||
$creatednotes3 = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes3);
|
||||
$creatednotes1 = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes1);
|
||||
$creatednotes2 = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes2);
|
||||
$creatednotes3 = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes3);
|
||||
|
||||
// Note 33 does not exist.
|
||||
$gnotes = array($creatednotes1[0]['noteid'], $creatednotes2[0]['noteid'], $creatednotes3[0]['noteid'], 33);
|
||||
$getnotes = core_notes_external::get_notes($gnotes);
|
||||
$getnotes = external_api::clean_returnvalue(core_notes_external::get_notes_returns(), $getnotes);
|
||||
$getnotes = \external_api::clean_returnvalue(core_notes_external::get_notes_returns(), $getnotes);
|
||||
|
||||
$this->unassignUserCapability('moodle/notes:manage', $contextid, $roleid);
|
||||
// Confirm that base note data was retrieved correctly.
|
||||
@@ -178,7 +183,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$this->unassignUserCapability('moodle/notes:view', $contextid, $roleid);
|
||||
$this->expectException('required_capability_exception');
|
||||
$this->expectException('\required_capability_exception');
|
||||
$creatednotes = core_notes_external::get_notes($gnotes);
|
||||
}
|
||||
|
||||
@@ -191,7 +196,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$course = self::getDataGenerator()->create_course();
|
||||
|
||||
// Set the required capabilities by the external function.
|
||||
$contextid = context_course::instance($course->id)->id;
|
||||
$contextid = \context_course::instance($course->id)->id;
|
||||
$roleid = $this->assignUserCapability('moodle/notes:manage', $contextid);
|
||||
$this->assignUserCapability('moodle/course:view', $contextid, $roleid);
|
||||
|
||||
@@ -212,7 +217,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$notes1 = array($note1, $note2, $note3);
|
||||
|
||||
$creatednotes = core_notes_external::create_notes($notes1);
|
||||
$creatednotes = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$creatednotes = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
|
||||
$note2 = array();
|
||||
$note2["id"] = $creatednotes[0]['noteid'];
|
||||
@@ -223,7 +228,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$updatednotes = core_notes_external::update_notes($notes2);
|
||||
|
||||
$updatednotes = external_api::clean_returnvalue(core_notes_external::update_notes_returns(), $updatednotes);
|
||||
$updatednotes = \external_api::clean_returnvalue(core_notes_external::update_notes_returns(), $updatednotes);
|
||||
$thenote = $DB->get_record('post', array('id' => $creatednotes[0]['noteid']));
|
||||
|
||||
// Confirm that base note data was updated correctly.
|
||||
@@ -232,9 +237,9 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Call without required capability.
|
||||
$creatednotes = core_notes_external::create_notes($notes1);
|
||||
$creatednotes = external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$creatednotes = \external_api::clean_returnvalue(core_notes_external::create_notes_returns(), $creatednotes);
|
||||
$this->unassignUserCapability('moodle/notes:manage', $contextid, $roleid);
|
||||
$this->expectException('required_capability_exception');
|
||||
$this->expectException('\required_capability_exception');
|
||||
$note2 = array();
|
||||
$note2["id"] = $creatednotes[0]['noteid'];
|
||||
$note2['publishstate'] = 'personal';
|
||||
@@ -242,7 +247,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$note2['format'] = FORMAT_HTML;
|
||||
$notes2 = array($note2);
|
||||
$updatednotes = core_notes_external::update_notes($notes2);
|
||||
$updatednotes = external_api::clean_returnvalue(core_notes_external::update_notes_returns(), $updatednotes);
|
||||
$updatednotes = \external_api::clean_returnvalue(core_notes_external::update_notes_returns(), $updatednotes);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -305,7 +310,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Retrieve notes, normal case.
|
||||
$result = core_notes_external::get_course_notes($course1->id, $student1->id);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEquals($notes1->id, $result['sitenotes'][0]['id']);
|
||||
$this->assertCount(2, $result['coursenotes']);
|
||||
// Teacher can manage only the course notes.
|
||||
@@ -324,12 +329,12 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$result = core_notes_external::get_course_notes($course2->id, $student1->id);
|
||||
$this->fail('the user is not enrolled in the course');
|
||||
} catch (require_login_exception $e) {
|
||||
} catch (\require_login_exception $e) {
|
||||
$this->assertEquals('requireloginerror', $e->errorcode);
|
||||
}
|
||||
|
||||
$result = core_notes_external::get_course_notes(0, $student1->id);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEmpty($result['sitenotes']);
|
||||
// Teacher can't manage system notes.
|
||||
$this->assertFalse($result['canmanagesystemnotes']);
|
||||
@@ -345,7 +350,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setAdminUser();
|
||||
$result = core_notes_external::get_course_notes(0, $student1->id);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEquals($notes1->id, $result['sitenotes'][0]['id']);
|
||||
$this->assertCount(1, $result['sitenotes']);
|
||||
// Admin user can manage both system and course notes.
|
||||
@@ -354,7 +359,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($teacher1);
|
||||
$result = core_notes_external::get_course_notes(0, 0);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEmpty($result['sitenotes']);
|
||||
$this->assertEmpty($result['coursenotes']);
|
||||
$this->assertEmpty($result['personalnotes']);
|
||||
@@ -364,7 +369,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($teacher2);
|
||||
$result = core_notes_external::get_course_notes($course1->id, $student1->id);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEquals($notes1->id, $result['sitenotes'][0]['id']);
|
||||
|
||||
foreach ($result['coursenotes'] as $coursenote) {
|
||||
@@ -380,7 +385,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertTrue($result['canmanagecoursenotes']);
|
||||
|
||||
$result = core_notes_external::get_course_notes($course1->id, 0);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEquals($notes1->id, $result['sitenotes'][0]['id']);
|
||||
|
||||
foreach ($result['coursenotes'] as $coursenote) {
|
||||
@@ -394,7 +399,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->setUser($teacher1);
|
||||
$result = core_notes_external::get_course_notes($course1->id, 0);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::get_course_notes_returns(), $result);
|
||||
$this->assertEquals($notep1->id, $result['personalnotes'][0]['id']);
|
||||
$this->assertCount(1, $result['personalnotes']);
|
||||
// Teacher can manage only the course notes.
|
||||
@@ -420,7 +425,7 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$student = $this->getDataGenerator()->create_user();
|
||||
$teacher = $this->getDataGenerator()->create_user();
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
|
||||
// Enroll students and teachers to course.
|
||||
$this->getDataGenerator()->enrol_user($student->id, $course->id, $studentrole->id);
|
||||
@@ -438,10 +443,10 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
$sink = $this->redirectEvents();
|
||||
|
||||
$result = core_notes_external::view_notes($course->id, $student->id);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::view_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::view_notes_returns(), $result);
|
||||
|
||||
$result = core_notes_external::view_notes($course->id);
|
||||
$result = external_api::clean_returnvalue(core_notes_external::view_notes_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_notes_external::view_notes_returns(), $result);
|
||||
|
||||
$events = $sink->get_events();
|
||||
|
||||
@@ -458,14 +463,14 @@ class core_notes_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
core_notes_external::view_notes(0);
|
||||
$this->fail('Exception expected due to invalid permissions at system level.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('nopermissions', $e->errorcode);
|
||||
}
|
||||
|
||||
try {
|
||||
core_notes_external::view_notes($course->id, $student->id + 100);
|
||||
$this->fail('Exception expected due to invalid user id.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invaliduser', $e->errorcode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace core_notes;
|
||||
|
||||
/**
|
||||
* Generator tests class.
|
||||
@@ -31,7 +31,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2013 Ankit Agarwal
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_notes_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
/** Test create_instance method */
|
||||
public function test_create_instance() {
|
||||
@@ -65,7 +65,7 @@ class core_notes_generator_testcase extends advanced_testcase {
|
||||
try {
|
||||
$gen->create_instance(array('courseid' => 2));
|
||||
$this->fail('A note should not be allowed to be created without associcated userid');
|
||||
} catch (coding_exception $e) {
|
||||
} catch (\coding_exception $e) {
|
||||
$this->assertStringContainsString('Module generator requires $record->userid', $e->getMessage());
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ class core_notes_generator_testcase extends advanced_testcase {
|
||||
try {
|
||||
$gen->create_instance(array('userid' => 2));
|
||||
$this->fail('A note should not be allowed to be created without associcated courseid');
|
||||
} catch (coding_exception $e) {
|
||||
} catch (\coding_exception $e) {
|
||||
$this->assertStringContainsString('Module generator requires $record->courseid', $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,11 @@
|
||||
* @since Moodle 3.1
|
||||
*/
|
||||
|
||||
namespace core_question;
|
||||
|
||||
use core_question_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -40,7 +45,7 @@ require_once($CFG->dirroot . '/question/engine/tests/helpers.php');
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @since Moodle 3.1
|
||||
*/
|
||||
class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
@@ -71,17 +76,17 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
// Create a question category.
|
||||
$cat = $questiongenerator->create_question_category();
|
||||
|
||||
$quba = question_engine::make_questions_usage_by_activity('core_question_update_flag', context_system::instance());
|
||||
$quba = \question_engine::make_questions_usage_by_activity('core_question_update_flag', \context_system::instance());
|
||||
$quba->set_preferred_behaviour('deferredfeedback');
|
||||
$questiondata = $questiongenerator->create_question('numerical', null, array('category' => $cat->id));
|
||||
$question = question_bank::load_question($questiondata->id);
|
||||
$question = \question_bank::load_question($questiondata->id);
|
||||
$slot = $quba->add_question($question);
|
||||
$qa = $quba->get_question_attempt($slot);
|
||||
|
||||
self::setUser($this->student);
|
||||
|
||||
$quba->start_all_questions();
|
||||
question_engine::save_questions_usage_by_activity($quba);
|
||||
\question_engine::save_questions_usage_by_activity($quba);
|
||||
|
||||
$qubaid = $quba->get_id();
|
||||
$questionid = $question->id;
|
||||
@@ -98,7 +103,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
core_question_external::update_flag($qubaid, $questionid, $qaid, $slot, $checksum, true);
|
||||
$this->fail('Exception expected due to invalid checksum.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('errorsavingflags', $e->errorcode);
|
||||
}
|
||||
}
|
||||
@@ -110,7 +115,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_submit_tags_form_incorrect_question_id() {
|
||||
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
list ($category, $course, $qcat, $questions) = $questiongenerator->setup_course_and_questions();
|
||||
$questioncontext = context::instance_by_id($qcat->contextid);
|
||||
$questioncontext = \context::instance_by_id($qcat->contextid);
|
||||
$editingcontext = $questioncontext;
|
||||
$question = $questions[0];
|
||||
// Generate an id for a question that doesn't exist.
|
||||
@@ -130,7 +135,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_submit_tags_form_incorrect_context_id() {
|
||||
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
list ($category, $course, $qcat, $questions) = $questiongenerator->setup_course_and_questions();
|
||||
$questioncontext = context::instance_by_id($qcat->contextid);
|
||||
$questioncontext = \context::instance_by_id($qcat->contextid);
|
||||
$editingcontext = $questioncontext;
|
||||
$question = $questions[0];
|
||||
// Generate an id for a context that doesn't exist.
|
||||
@@ -150,7 +155,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
list ($category, $course, $qcat, $questions) = $questiongenerator->setup_course_and_questions();
|
||||
$questioncontext = context::instance_by_id($qcat->contextid);
|
||||
$questioncontext = \context::instance_by_id($qcat->contextid);
|
||||
$editingcontext = $questioncontext;
|
||||
$question = $questions[0];
|
||||
$user = $this->create_user_can_tag($course);
|
||||
@@ -176,7 +181,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$teacherrole = $DB->get_record('role', ['shortname' => 'editingteacher']);
|
||||
$questiongenerator = $generator->get_plugin_generator('core_question');
|
||||
list ($category, $course, $qcat, $questions) = $questiongenerator->setup_course_and_questions();
|
||||
$questioncontext = context::instance_by_id($qcat->contextid);
|
||||
$questioncontext = \context::instance_by_id($qcat->contextid);
|
||||
$editingcontext = $questioncontext;
|
||||
$question = $questions[0];
|
||||
$formdata = $this->generate_encoded_submit_tags_form_string(
|
||||
@@ -212,7 +217,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$teacherrole = $DB->get_record('role', ['shortname' => 'editingteacher']);
|
||||
$questiongenerator = $generator->get_plugin_generator('core_question');
|
||||
list ($category, $course, $qcat, $questions) = $questiongenerator->setup_course_and_questions();
|
||||
$questioncontext = context::instance_by_id($qcat->contextid);
|
||||
$questioncontext = \context::instance_by_id($qcat->contextid);
|
||||
$editingcontext = $questioncontext;
|
||||
$question = $questions[0];
|
||||
$formdata = $this->generate_encoded_submit_tags_form_string(
|
||||
@@ -343,20 +348,20 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
) {
|
||||
$questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
list ($category, $course, $qcat, $questions) = $questiongenerator->setup_course_and_questions($questioncontext);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$questioncontext = context::instance_by_id($qcat->contextid);
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$questioncontext = \context::instance_by_id($qcat->contextid);
|
||||
|
||||
switch($editingcontext) {
|
||||
case 'system':
|
||||
$editingcontext = context_system::instance();
|
||||
$editingcontext = \context_system::instance();
|
||||
break;
|
||||
|
||||
case 'category':
|
||||
$editingcontext = context_coursecat::instance($category->id);
|
||||
$editingcontext = \context_coursecat::instance($category->id);
|
||||
break;
|
||||
|
||||
default:
|
||||
$editingcontext = context_course::instance($course->id);
|
||||
$editingcontext = \context_course::instance($course->id);
|
||||
}
|
||||
|
||||
$user = $this->create_user_can_tag($course);
|
||||
@@ -375,7 +380,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->assertTrue($result['status']);
|
||||
|
||||
$tagobjects = core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$tagobjects = \core_tag_tag::get_item_tags('core_question', 'question', $question->id);
|
||||
$coursetagobjects = [];
|
||||
$questiontagobjects = [];
|
||||
|
||||
@@ -418,8 +423,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
/**
|
||||
* Build the encoded form data expected by the submit_tags_form external function.
|
||||
*
|
||||
* @param stdClass $question The question record
|
||||
* @param stdClass $questioncategory The question category record
|
||||
* @param \stdClass $question The question record
|
||||
* @param \stdClass $questioncategory The question category record
|
||||
* @param context $questioncontext Context for the question category
|
||||
* @param array $tags A list of tag names for the question
|
||||
* @param array $coursetags A list of course tag names for the question
|
||||
@@ -441,7 +446,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
'tags' => $tags,
|
||||
'coursetags' => $coursetags
|
||||
];
|
||||
$data = core_question\form\tags::mock_generate_submit_keys($data);
|
||||
$data = \core_question\form\tags::mock_generate_submit_keys($data);
|
||||
|
||||
return http_build_query($data, '', '&');
|
||||
}
|
||||
@@ -450,7 +455,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
* Create a user, enrol them in the course, and give them the capability to
|
||||
* tag all questions in the system context.
|
||||
*
|
||||
* @param stdClass $course The course record to enrol in
|
||||
* @param \stdClass $course The course record to enrol in
|
||||
* @return stdClass The user record
|
||||
*/
|
||||
protected function create_user_can_tag($course) {
|
||||
@@ -460,7 +465,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$user = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$teacherrole = $DB->get_record('role', ['shortname' => 'editingteacher']);
|
||||
$systemcontext = context_system::instance();
|
||||
$systemcontext = \context_system::instance();
|
||||
|
||||
$generator->role_assign($roleid, $user->id, $systemcontext->id);
|
||||
$generator->enrol_user($user->id, $course->id, $teacherrole->id, 'manual');
|
||||
@@ -562,7 +567,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
) {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$categories = [];
|
||||
$questions = [];
|
||||
$tagnames = [
|
||||
@@ -571,8 +576,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
'subcat',
|
||||
'foo'
|
||||
];
|
||||
$collid = core_tag_collection::get_default();
|
||||
$tags = core_tag_tag::create_if_missing($collid, $tagnames);
|
||||
$collid = \core_tag_collection::get_default();
|
||||
$tags = \core_tag_tag::create_if_missing($collid, $tagnames);
|
||||
$generator = $this->getDataGenerator()->get_plugin_generator('core_question');
|
||||
|
||||
// First category and questions.
|
||||
@@ -624,8 +629,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_get_random_question_summaries_invalid_category_id_param() {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$context = context_system::instance();
|
||||
$this->expectException('invalid_parameter_exception');
|
||||
$context = \context_system::instance();
|
||||
$this->expectException('\invalid_parameter_exception');
|
||||
core_question_external::get_random_question_summaries('invalid value', false, [], $context->id);
|
||||
}
|
||||
|
||||
@@ -636,8 +641,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_get_random_question_summaries_invalid_includesubcategories_param() {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$context = context_system::instance();
|
||||
$this->expectException('invalid_parameter_exception');
|
||||
$context = \context_system::instance();
|
||||
$this->expectException('\invalid_parameter_exception');
|
||||
core_question_external::get_random_question_summaries(1, 'invalid value', [], $context->id);
|
||||
}
|
||||
|
||||
@@ -648,8 +653,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_get_random_question_summaries_invalid_tagids_param() {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$context = context_system::instance();
|
||||
$this->expectException('invalid_parameter_exception');
|
||||
$context = \context_system::instance();
|
||||
$this->expectException('\invalid_parameter_exception');
|
||||
core_question_external::get_random_question_summaries(1, false, ['invalid', 'values'], $context->id);
|
||||
}
|
||||
|
||||
@@ -660,7 +665,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
public function test_get_random_question_summaries_invalid_context() {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$this->expectException('invalid_parameter_exception');
|
||||
$this->expectException('\invalid_parameter_exception');
|
||||
core_question_external::get_random_question_summaries(1, false, [1, 2], 'context');
|
||||
}
|
||||
|
||||
@@ -673,8 +678,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
$systemcontext = context_system::instance();
|
||||
$coursecontext = \context_course::instance($course->id);
|
||||
$systemcontext = \context_system::instance();
|
||||
// Restrict access to external functions for the logged in user to only
|
||||
// the course we just created. External functions should not be allowed
|
||||
// to execute in any contexts above the course context.
|
||||
@@ -686,7 +691,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
// Do this in a try/catch statement to allow the context restriction
|
||||
// to be reset afterwards.
|
||||
core_question_external::get_random_question_summaries(1, false, [], $systemcontext->id);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Exception $e) {
|
||||
$this->assertInstanceOf('restricted_context_exception', $e);
|
||||
}
|
||||
// Reset the restriction so that other tests don't fail aftwards.
|
||||
@@ -700,7 +705,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest();
|
||||
|
||||
list($category, $questions) = $this->create_category_and_questions(1);
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$question = $questions[0];
|
||||
$expected = (object) [
|
||||
'id' => $question->id,
|
||||
@@ -736,7 +741,7 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$tagids = [];
|
||||
$limit = 1;
|
||||
$offset = 0;
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
list($category, $questions) = $this->create_category_and_questions($numberofquestions);
|
||||
|
||||
// Sort the questions by id to match the ordering of the result.
|
||||
@@ -781,13 +786,13 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
$generator = $this->getDataGenerator();
|
||||
$user = $generator->create_user();
|
||||
$roleid = $generator->create_role();
|
||||
$systemcontext = context_system::instance();
|
||||
$systemcontext = \context_system::instance();
|
||||
$numberofquestions = 5;
|
||||
$includesubcategories = false;
|
||||
$tagids = [];
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
list($category, $questions) = $this->create_category_and_questions($numberofquestions);
|
||||
$categorycontext = context::instance_by_id($category->contextid);
|
||||
$categorycontext = \context::instance_by_id($category->contextid);
|
||||
|
||||
$generator->role_assign($roleid, $user->id, $systemcontext->id);
|
||||
// Prohibit all of the tag capabilities.
|
||||
@@ -829,8 +834,8 @@ class core_question_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
if (!empty($tagnames) && !empty($questions)) {
|
||||
$context = context::instance_by_id($category->contextid);
|
||||
core_tag_tag::set_item_tags('core_question', 'question', $questions[0]->id, $context, $tagnames);
|
||||
$context = \context::instance_by_id($category->contextid);
|
||||
\core_tag_tag::set_item_tags('core_question', 'question', $questions[0]->id, $context, $tagnames);
|
||||
}
|
||||
|
||||
return [$category, $questions];
|
||||
|
||||
@@ -17,14 +17,13 @@
|
||||
/**
|
||||
* Data generators tests
|
||||
*
|
||||
* @package moodlecore
|
||||
* @package core_question
|
||||
* @subpackage questionengine
|
||||
* @copyright 2013 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
namespace core_question;
|
||||
|
||||
/**
|
||||
* Test data generator
|
||||
@@ -32,7 +31,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2013 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_question_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
public function test_create() {
|
||||
global $DB;
|
||||
|
||||
@@ -71,11 +70,11 @@ class core_question_generator_testcase extends advanced_testcase {
|
||||
$this->assertSame('myquest_3', $quest3->idnumber);
|
||||
// Check idnumbers of questions moved. Note have to use load_question_data or we only get to see old cached data.
|
||||
question_move_questions_to_category([$quest1->id], $qcat1->id);
|
||||
$this->assertSame('myquest', question_bank::load_question_data($quest1->id)->idnumber);
|
||||
$this->assertSame('myquest', \question_bank::load_question_data($quest1->id)->idnumber);
|
||||
// Can only change idnumber of quest2 once quest1 has been moved to another category.
|
||||
$quest2 = $generator->update_question($questions[1], null, ['idnumber' => 'myquest']);
|
||||
question_move_questions_to_category([$quest2->id], $qcat1->id);
|
||||
$this->assertSame('myquest_4', question_bank::load_question_data($quest2->id)->idnumber);
|
||||
$this->assertSame('myquest_4', \question_bank::load_question_data($quest2->id)->idnumber);
|
||||
// Check can add an idnumber of 0.
|
||||
$quest4 = $generator->create_question('shortanswer', null, ['name' => 'sa1', 'category' => $qcat1->id, 'idnumber' => '0']);
|
||||
$this->assertSame('0', $quest4->idnumber);
|
||||
|
||||
@@ -23,6 +23,11 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace core_rating;
|
||||
|
||||
use core_rating_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -38,7 +43,7 @@ require_once($CFG->dirroot . '/rating/lib.php');
|
||||
* @copyright 2015 Costantino Cito <ccito@cvaconsulting.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/*
|
||||
* Set up for every test
|
||||
@@ -64,7 +69,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->getDataGenerator()->enrol_user($this->teacher3->id, $this->course->id, $this->teacherrole->id);
|
||||
|
||||
// Create the forum.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->introformat = FORMAT_HTML;
|
||||
$record->course = $this->course->id;
|
||||
// Set Aggregate type = Average of ratings.
|
||||
@@ -72,10 +77,10 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
$record->scale = 100;
|
||||
$this->forum = self::getDataGenerator()->create_module('forum', $record);
|
||||
|
||||
$this->contextid = context_module::instance($this->forum->cmid)->id;
|
||||
$this->contextid = \context_module::instance($this->forum->cmid)->id;
|
||||
|
||||
// Add discussion to the forums.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->course = $this->course->id;
|
||||
$record->userid = $this->student1->id;
|
||||
$record->forum = $this->forum->id;
|
||||
@@ -91,7 +96,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
global $DB;
|
||||
|
||||
// Rete the discussion as teacher1.
|
||||
$rating1 = new stdClass();
|
||||
$rating1 = new \stdClass();
|
||||
$rating1->contextid = $this->contextid;
|
||||
$rating1->component = 'mod_forum';
|
||||
$rating1->ratingarea = 'post';
|
||||
@@ -104,7 +109,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
$rating1->id = $DB->insert_record('rating', $rating1);
|
||||
|
||||
// Rete the discussion as teacher2.
|
||||
$rating2 = new stdClass();
|
||||
$rating2 = new \stdClass();
|
||||
$rating2->contextid = $this->contextid;
|
||||
$rating2->component = 'mod_forum';
|
||||
$rating2->ratingarea = 'post';
|
||||
@@ -124,7 +129,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$ratings = core_rating_external::get_item_ratings('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100, '');
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$ratings = external_api::clean_returnvalue(core_rating_external::get_item_ratings_returns(), $ratings);
|
||||
$ratings = \external_api::clean_returnvalue(core_rating_external::get_item_ratings_returns(), $ratings);
|
||||
$this->assertCount(2, $ratings['ratings']);
|
||||
|
||||
$indexedratings = array();
|
||||
@@ -142,14 +147,14 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$ratings = core_rating_external::get_item_ratings('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100, '');
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$ratings = external_api::clean_returnvalue(core_rating_external::get_item_ratings_returns(), $ratings);
|
||||
$ratings = \external_api::clean_returnvalue(core_rating_external::get_item_ratings_returns(), $ratings);
|
||||
$this->assertCount(2, $ratings['ratings']);
|
||||
|
||||
// Invalid item.
|
||||
try {
|
||||
$ratings = core_rating_external::get_item_ratings('module', $this->forum->cmid, 'mod_forum', 'post', 0, 100, '');
|
||||
$this->fail('Exception expected due invalid itemid.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidrecord', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -157,7 +162,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$ratings = core_rating_external::get_item_ratings('module', $this->forum->cmid, 'mod_forum', 'xyz', $this->post->id, 100, '');
|
||||
$this->fail('Exception expected due invalid rating area.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('invalidratingarea', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -165,7 +170,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$ratings = core_rating_external::get_item_ratings('module', 0, 'mod_forum', 'post', $this->post->id, 100, '');
|
||||
$this->fail('Exception expected due invalid context.');
|
||||
} catch (invalid_parameter_exception $e) {
|
||||
} catch (\invalid_parameter_exception $e) {
|
||||
$this->assertEquals('invalidparameter', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -181,14 +186,14 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->teacher1);
|
||||
$ratings = core_rating_external::get_item_ratings('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100, '');
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$ratings = external_api::clean_returnvalue(core_rating_external::get_item_ratings_returns(), $ratings);
|
||||
$ratings = \external_api::clean_returnvalue(core_rating_external::get_item_ratings_returns(), $ratings);
|
||||
$this->assertCount(2, $ratings['ratings']);
|
||||
|
||||
$this->setUser($this->teacher3);
|
||||
try {
|
||||
$ratings = core_rating_external::get_item_ratings('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100, '');
|
||||
$this->fail('Exception expected due invalid group permissions.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('noviewrate', $e->errorcode);
|
||||
}
|
||||
|
||||
@@ -204,7 +209,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
$rating = core_rating_external::add_rating('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100,
|
||||
50, $this->student1->id, RATING_AGGREGATE_AVERAGE);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$rating = external_api::clean_returnvalue(core_rating_external::add_rating_returns(), $rating);
|
||||
$rating = \external_api::clean_returnvalue(core_rating_external::add_rating_returns(), $rating);
|
||||
$this->assertTrue($rating['success']);
|
||||
$this->assertEquals(50, $rating['aggregate']);
|
||||
$this->assertEquals(1, $rating['count']);
|
||||
@@ -212,7 +217,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
// New different rate (it will replace the existing one).
|
||||
$rating = core_rating_external::add_rating('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100,
|
||||
100, $this->student1->id, RATING_AGGREGATE_AVERAGE);
|
||||
$rating = external_api::clean_returnvalue(core_rating_external::add_rating_returns(), $rating);
|
||||
$rating = \external_api::clean_returnvalue(core_rating_external::add_rating_returns(), $rating);
|
||||
$this->assertTrue($rating['success']);
|
||||
$this->assertEquals(100, $rating['aggregate']);
|
||||
$this->assertEquals(1, $rating['count']);
|
||||
@@ -221,7 +226,7 @@ class core_rating_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($this->teacher2);
|
||||
$rating = core_rating_external::add_rating('module', $this->forum->cmid, 'mod_forum', 'post', $this->post->id, 100,
|
||||
50, $this->student1->id, RATING_AGGREGATE_AVERAGE);
|
||||
$rating = external_api::clean_returnvalue(core_rating_external::add_rating_returns(), $rating);
|
||||
$rating = \external_api::clean_returnvalue(core_rating_external::add_rating_returns(), $rating);
|
||||
$this->assertEquals(75, $rating['aggregate']);
|
||||
$this->assertEquals(2, $rating['count']);
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace report_insights;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
require_once(__DIR__ . '/../../../analytics/tests/fixtures/test_indicator_max.php');
|
||||
@@ -34,7 +36,7 @@ require_once(__DIR__ . '/../../../analytics/tests/fixtures/test_target_shortname
|
||||
* @copyright 2019 David Monllaó {@link http://www.davidmonllao.com}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class report_insights_external_testcase extends advanced_testcase {
|
||||
class externallib_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* test_action_executed
|
||||
|
||||
@@ -17,13 +17,15 @@
|
||||
/**
|
||||
* Repository generator tests
|
||||
*
|
||||
* @package repository
|
||||
* @package core_repository
|
||||
* @category test
|
||||
* @copyright 2013 Frédéric Massart
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
namespace core_repository;
|
||||
|
||||
use repository_exception;
|
||||
|
||||
/**
|
||||
* Repository generator tests class
|
||||
@@ -33,7 +35,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @copyright 2013 Frédéric Massart
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_repository_generator_testcase extends advanced_testcase {
|
||||
class generator_test extends \advanced_testcase {
|
||||
|
||||
/**
|
||||
* Basic test of creation of repository types.
|
||||
@@ -87,7 +89,7 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
|
||||
// Single instances.
|
||||
// Note: for single instances repositories enablecourseinstances and enableuserinstances are forced set to 0.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->pluginname = 'Custom Flickr';
|
||||
$record->api_key = '12345';
|
||||
$record->secret = '67890';
|
||||
@@ -100,7 +102,7 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals('Custom Flickr',
|
||||
$DB->get_field('repository_instances', 'name', array('typeid' => $flickr->id), MUST_EXIST));
|
||||
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->pluginname = 'Custom Dropbox';
|
||||
$record->dropbox_key = '12345';
|
||||
$record->dropbox_secret = '67890';
|
||||
@@ -115,7 +117,7 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
$DB->get_field('repository_instances', 'name', array('typeid' => $dropbox->id), MUST_EXIST));
|
||||
|
||||
// Multiple instances.
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->pluginname = 'Custom WebDAV';
|
||||
$record->enableuserinstances = '0';
|
||||
$record->enablecourseinstances = '0';
|
||||
@@ -125,7 +127,7 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($record, $config);
|
||||
$this->assertFalse( $DB->record_exists('repository_instances', array('typeid' => $webdav->id)));
|
||||
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->pluginname = 'Custom Equella';
|
||||
$record->enableuserinstances = '1';
|
||||
$record->enablecourseinstances = '0';
|
||||
@@ -150,7 +152,7 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
$block = $this->getDataGenerator()->create_block('online_users');
|
||||
|
||||
$type = $this->getDataGenerator()->create_repository_type('webdav');
|
||||
$record = new stdClass();
|
||||
$record = new \stdClass();
|
||||
$record->name = 'A WebDAV instance';
|
||||
$record->webdav_type = '1';
|
||||
$record->webdav_server = 'localhost';
|
||||
@@ -164,7 +166,7 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals(1, $DB->count_records('repository_instances', array('typeid' => $type->id)));
|
||||
$this->assertEquals($record->name, $DB->get_field('repository_instances', 'name', array('id' => $instance->id)));
|
||||
$entries = $DB->get_records('repository_instance_config', array('instanceid' => $instance->id));
|
||||
$config = new stdClass();
|
||||
$config = new \stdClass();
|
||||
foreach ($entries as $entry) {
|
||||
$config->{$entry->name} = $entry->value;
|
||||
}
|
||||
@@ -172,21 +174,21 @@ class core_repository_generator_testcase extends advanced_testcase {
|
||||
$this->assertEquals($config, $record);
|
||||
|
||||
// Course context.
|
||||
$record = new stdClass();
|
||||
$record->contextid = context_course::instance($course->id)->id;
|
||||
$record = new \stdClass();
|
||||
$record->contextid = \context_course::instance($course->id)->id;
|
||||
$instance = $this->getDataGenerator()->create_repository('webdav', $record);
|
||||
$this->assertEquals(2, $DB->count_records('repository_instances', array('typeid' => $type->id)));
|
||||
$this->assertEquals($record->contextid, $instance->contextid);
|
||||
|
||||
// User context.
|
||||
$record->contextid = context_user::instance($user->id)->id;
|
||||
$record->contextid = \context_user::instance($user->id)->id;
|
||||
$instance = $this->getDataGenerator()->create_repository('webdav', $record);
|
||||
$this->assertEquals(3, $DB->count_records('repository_instances', array('typeid' => $type->id)));
|
||||
$this->assertEquals($record->contextid, $instance->contextid);
|
||||
|
||||
// Invalid context.
|
||||
$this->expectException('coding_exception');
|
||||
$record->contextid = context_block::instance($block->id)->id;
|
||||
$record->contextid = \context_block::instance($block->id)->id;
|
||||
$instance = $this->getDataGenerator()->create_repository('webdav', $record);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,12 @@
|
||||
* @since Moodle 2.4
|
||||
*/
|
||||
|
||||
namespace core_user;
|
||||
|
||||
use core_files_external;
|
||||
use core_user_external;
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -32,7 +38,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
require_once($CFG->dirroot . '/user/externallib.php');
|
||||
require_once($CFG->dirroot . '/files/externallib.php');
|
||||
|
||||
class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test get_users
|
||||
@@ -74,7 +80,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$generatedusers[$user1->id] = $user1;
|
||||
$generatedusers[$user2->id] = $user2;
|
||||
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/user:viewdetails', $context->id);
|
||||
|
||||
// Enrol the users in the course.
|
||||
@@ -94,7 +100,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$result = core_user_external::get_users($searchparams);
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_users_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_users_returns(), $result);
|
||||
|
||||
// Check we retrieve the good total number of enrolled users + no error on capability.
|
||||
$expectedreturnedusers = 1;
|
||||
@@ -162,9 +168,9 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$result = core_user_external::get_users($searchparams);
|
||||
$this->fail('Expecting \'keyalreadyset\' moodle_exception to be thrown.');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('keyalreadyset', $e->errorcode);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Exception $e) {
|
||||
$this->fail('Expecting \'keyalreadyset\' moodle_exception to be thrown.');
|
||||
}
|
||||
}
|
||||
@@ -207,7 +213,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$generatedusers[$user1->id] = $user1;
|
||||
$generatedusers[$user2->id] = $user2;
|
||||
|
||||
$context = context_course::instance($course->id);
|
||||
$context = \context_course::instance($course->id);
|
||||
$roleid = $this->assignUserCapability('moodle/user:viewdetails', $context->id);
|
||||
|
||||
// Enrol the users in the course.
|
||||
@@ -225,7 +231,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$returnedusers = core_user_external::get_users_by_field($fieldtosearch,
|
||||
array($USER->{$fieldtosearch}, $user1->{$fieldtosearch}, $user2->{$fieldtosearch}));
|
||||
$returnedusers = external_api::clean_returnvalue(core_user_external::get_users_by_field_returns(), $returnedusers);
|
||||
$returnedusers = \external_api::clean_returnvalue(core_user_external::get_users_by_field_returns(), $returnedusers);
|
||||
|
||||
// Expected result differ following the searched field
|
||||
// Admin user in the PHPunit framework doesn't have an idnumber.
|
||||
@@ -292,7 +298,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$returnedusers = core_user_external::get_users_by_field('username',
|
||||
array($USER->username, $user1->username, $user2->username));
|
||||
$returnedusers = external_api::clean_returnvalue(core_user_external::get_users_by_field_returns(), $returnedusers);
|
||||
$returnedusers = \external_api::clean_returnvalue(core_user_external::get_users_by_field_returns(), $returnedusers);
|
||||
|
||||
// Only the own $USER username should be returned
|
||||
$this->assertEquals(1, count($returnedusers));
|
||||
@@ -303,7 +309,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the external function.
|
||||
$returnedusers = core_user_external::get_users_by_field('username',
|
||||
array($USER->username, $user1->username, $user2->username));
|
||||
$returnedusers = external_api::clean_returnvalue(core_user_external::get_users_by_field_returns(), $returnedusers);
|
||||
$returnedusers = \external_api::clean_returnvalue(core_user_external::get_users_by_field_returns(), $returnedusers);
|
||||
|
||||
// Only the own $USER username should be returned still.
|
||||
$this->assertEquals(1, count($returnedusers));
|
||||
@@ -314,7 +320,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$return = new stdClass();
|
||||
$return = new \stdClass();
|
||||
|
||||
// Create the course and fetch its context.
|
||||
$return->course = self::getDataGenerator()->create_course();
|
||||
@@ -342,7 +348,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
$return->user2 = self::getDataGenerator()->create_user();
|
||||
|
||||
$context = context_course::instance($return->course->id);
|
||||
$context = \context_course::instance($return->course->id);
|
||||
$return->roleid = $this->assignUserCapability($capability, $context->id);
|
||||
|
||||
// Enrol the users in the course.
|
||||
@@ -368,7 +374,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('userid' => $USER->id, 'courseid' => $data->course->id)));
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledusers = external_api::clean_returnvalue(core_user_external::get_course_user_profiles_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_user_external::get_course_user_profiles_returns(), $enrolledusers);
|
||||
|
||||
// Check we retrieve the good total number of enrolled users + no error on capability.
|
||||
$this->assertEquals(1, count($enrolledusers));
|
||||
@@ -392,7 +398,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
array('userid' => $data->user1->id, 'courseid' => $data->course->id)));
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$enrolledusers = external_api::clean_returnvalue(core_user_external::get_course_user_profiles_returns(), $enrolledusers);
|
||||
$enrolledusers = \external_api::clean_returnvalue(core_user_external::get_course_user_profiles_returns(), $enrolledusers);
|
||||
|
||||
foreach($enrolledusers as $enrolleduser) {
|
||||
if ($enrolleduser['username'] == $data->user1->username) {
|
||||
@@ -462,7 +468,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
'auth' => 'oauth2'
|
||||
);
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/user:create', $context->id);
|
||||
$this->assignUserCapability('moodle/user:editprofile', $context->id, $roleid);
|
||||
|
||||
@@ -470,7 +476,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$createdusers = core_user_external::create_users(array($user1, $user2));
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$createdusers = external_api::clean_returnvalue(core_user_external::create_users_returns(), $createdusers);
|
||||
$createdusers = \external_api::clean_returnvalue(core_user_external::create_users_returns(), $createdusers);
|
||||
|
||||
// Check we retrieve the good total number of created users + no error on capability.
|
||||
$this->assertCount(2, $createdusers);
|
||||
@@ -483,8 +489,8 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals('atto', get_user_preferences('htmleditor', null, $dbuser));
|
||||
$this->assertEquals(null, get_user_preferences('invalidpreference', null, $dbuser));
|
||||
// Confirm user interests have been saved.
|
||||
$interests = core_tag_tag::get_item_tags_array('core', 'user', $createduser['id'],
|
||||
core_tag_tag::BOTH_STANDARD_AND_NOT, 0, false);
|
||||
$interests = \core_tag_tag::get_item_tags_array('core', 'user', $createduser['id'],
|
||||
\core_tag_tag::BOTH_STANDARD_AND_NOT, 0, false);
|
||||
// There should be 3 user interests.
|
||||
$this->assertCount(3, $interests);
|
||||
|
||||
@@ -530,7 +536,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
];
|
||||
|
||||
// This should throw an exception because either password or createpassword param must be passed for auth_manual.
|
||||
$this->expectException(invalid_parameter_exception::class);
|
||||
$this->expectException(\invalid_parameter_exception::class);
|
||||
core_user_external::create_users([$user]);
|
||||
}
|
||||
|
||||
@@ -588,7 +594,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
if (!$sameemailallowed) {
|
||||
// This should throw an exception when $CFG->allowaccountssameemail is empty.
|
||||
$this->expectException(invalid_parameter_exception::class);
|
||||
$this->expectException(\invalid_parameter_exception::class);
|
||||
}
|
||||
|
||||
// Create our users.
|
||||
@@ -692,7 +698,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals(2, $DB->count_records_select('user', 'deleted = 0 AND (id = :userid1 OR id = :userid2)',
|
||||
array('userid1' => $user1->id, 'userid2' => $user2->id)));
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/user:delete', $context->id);
|
||||
|
||||
// Call the external function.
|
||||
@@ -719,7 +725,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$wsuser = self::getDataGenerator()->create_user();
|
||||
self::setUser($wsuser);
|
||||
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$contextid = $context->id;
|
||||
$filename = "reddot.png";
|
||||
$filecontent = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38"
|
||||
@@ -728,7 +734,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the files api to create a file.
|
||||
$draftfile = core_files_external::upload($contextid, 'user', 'draft', 0, '/',
|
||||
$filename, $filecontent, null, null);
|
||||
$draftfile = external_api::clean_returnvalue(core_files_external::upload_returns(), $draftfile);
|
||||
$draftfile = \external_api::clean_returnvalue(core_files_external::upload_returns(), $draftfile);
|
||||
|
||||
$draftid = $draftfile['itemid'];
|
||||
|
||||
@@ -765,7 +771,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
'interests' => 'badminton, basketball, cooking, '
|
||||
);
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/user:update', $context->id);
|
||||
$this->assignUserCapability('moodle/user:editprofile', $context->id, $roleid);
|
||||
|
||||
@@ -808,7 +814,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals(null, get_user_preferences('invalidpreference', null, $dbuser));
|
||||
|
||||
// Confirm user interests have been saved.
|
||||
$interests = core_tag_tag::get_item_tags_array('core', 'user', $user1['id'], core_tag_tag::BOTH_STANDARD_AND_NOT, 0, false);
|
||||
$interests = \core_tag_tag::get_item_tags_array('core', 'user', $user1['id'], \core_tag_tag::BOTH_STANDARD_AND_NOT, 0, false);
|
||||
// There should be 3 user interests.
|
||||
$this->assertCount(3, $interests);
|
||||
|
||||
@@ -924,10 +930,10 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$context = context_system::instance();
|
||||
$context = \context_system::instance();
|
||||
$roleid = $this->assignUserCapability('moodle/user:manageownfiles', $context->id);
|
||||
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$contextid = $context->id;
|
||||
$component = "user";
|
||||
$filearea = "draft";
|
||||
@@ -942,7 +948,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Call the files api to create a file.
|
||||
$draftfile = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath,
|
||||
$filename, $filecontent, $contextlevel, $instanceid);
|
||||
$draftfile = external_api::clean_returnvalue(core_files_external::upload_returns(), $draftfile);
|
||||
$draftfile = \external_api::clean_returnvalue(core_files_external::upload_returns(), $draftfile);
|
||||
|
||||
$draftid = $draftfile['itemid'];
|
||||
// Make sure the file was created.
|
||||
@@ -992,14 +998,14 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$warnings = core_user_external::add_user_device($device['appid'], $device['name'], $device['model'], $device['platform'],
|
||||
$device['version'], $device['pushid'], $device['uuid']);
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$warnings = external_api::clean_returnvalue(core_user_external::add_user_device_returns(), $warnings);
|
||||
$warnings = \external_api::clean_returnvalue(core_user_external::add_user_device_returns(), $warnings);
|
||||
$this->assertCount(1, $warnings);
|
||||
|
||||
// Test update an existing device.
|
||||
$device['pushid'] = 'different than before';
|
||||
$warnings = core_user_external::add_user_device($device['appid'], $device['name'], $device['model'], $device['platform'],
|
||||
$device['version'], $device['pushid'], $device['uuid']);
|
||||
$warnings = external_api::clean_returnvalue(core_user_external::add_user_device_returns(), $warnings);
|
||||
$warnings = \external_api::clean_returnvalue(core_user_external::add_user_device_returns(), $warnings);
|
||||
|
||||
$this->assertEquals(1, $DB->count_records('user_devices'));
|
||||
$updated = $DB->get_record('user_devices', array('pushid' => $device['pushid']));
|
||||
@@ -1010,7 +1016,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$device['pushid'] = 'new different than before';
|
||||
$warnings = core_user_external::add_user_device($device['appid'], $device['name'], $device['model'], $device['platform'],
|
||||
$device['version'], $device['pushid'], $device['uuid']);
|
||||
$warnings = external_api::clean_returnvalue(core_user_external::add_user_device_returns(), $warnings);
|
||||
$warnings = \external_api::clean_returnvalue(core_user_external::add_user_device_returns(), $warnings);
|
||||
$this->assertEquals(2, $DB->count_records('user_devices'));
|
||||
}
|
||||
|
||||
@@ -1048,24 +1054,24 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Try to remove a device that does not exist.
|
||||
$result = core_user_external::remove_user_device('1234567890');
|
||||
$result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$this->assertFalse($result['removed']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
|
||||
// Try to remove a device that does not exist for an existing app.
|
||||
$result = core_user_external::remove_user_device('1234567890', $device['appid']);
|
||||
$result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$this->assertFalse($result['removed']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
|
||||
// Remove an existing device for an existing app. This will remove one of the two devices.
|
||||
$result = core_user_external::remove_user_device($device['uuid'], $device['appid']);
|
||||
$result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$this->assertTrue($result['removed']);
|
||||
|
||||
// Remove all the devices. This must remove the remaining device.
|
||||
$result = core_user_external::remove_user_device($device['uuid']);
|
||||
$result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
|
||||
$this->assertTrue($result['removed']);
|
||||
}
|
||||
|
||||
@@ -1082,7 +1088,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->setUser($user);
|
||||
|
||||
$result = core_user_external::get_user_preferences();
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
// Expect 3, _lastloaded is always returned.
|
||||
$this->assertCount(3, $result['preferences']);
|
||||
@@ -1097,14 +1103,14 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Retrieve just one preference.
|
||||
$result = core_user_external::get_user_preferences('some_random_text');
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['preferences']);
|
||||
$this->assertEquals('text', $result['preferences'][0]['value']);
|
||||
|
||||
// Retrieve non-existent preference.
|
||||
$result = core_user_external::get_user_preferences('non_existent');
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['preferences']);
|
||||
$this->assertEquals(null, $result['preferences'][0]['value']);
|
||||
@@ -1112,7 +1118,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Check that as admin we can retrieve all the preferences for any user.
|
||||
$this->setAdminUser();
|
||||
$result = core_user_external::get_user_preferences('', $user->id);
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(3, $result['preferences']);
|
||||
|
||||
@@ -1143,7 +1149,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$user = self::getDataGenerator()->create_user();
|
||||
self::setUser($user);
|
||||
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$contextid = $context->id;
|
||||
$filename = "reddot.png";
|
||||
$filecontent = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38"
|
||||
@@ -1155,7 +1161,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Change user profile image.
|
||||
$result = core_user_external::update_picture($draftid);
|
||||
$result = external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result);
|
||||
$picture = $DB->get_field('user', 'picture', array('id' => $user->id));
|
||||
// The new revision is in the url for the user.
|
||||
$this->assertStringContainsString($picture, $result['profileimageurl']);
|
||||
@@ -1164,7 +1170,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Delete image.
|
||||
$result = core_user_external::update_picture(0, true);
|
||||
$result = external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result);
|
||||
$picture = $DB->get_field('user', 'picture', array('id' => $user->id));
|
||||
// No picture.
|
||||
$this->assertEquals(0, $picture);
|
||||
@@ -1172,13 +1178,13 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// Add again the user profile image (as admin).
|
||||
$this->setAdminUser();
|
||||
|
||||
$context = context_user::instance($USER->id);
|
||||
$context = \context_user::instance($USER->id);
|
||||
$admincontextid = $context->id;
|
||||
$draftfile = core_files_external::upload($admincontextid, 'user', 'draft', 0, '/', $filename, $filecontent, null, null);
|
||||
$draftid = $draftfile['itemid'];
|
||||
|
||||
$result = core_user_external::update_picture($draftid, false, $user->id);
|
||||
$result = external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result);
|
||||
// The new revision is in the url for the user.
|
||||
$picture = $DB->get_field('user', 'picture', array('id' => $user->id));
|
||||
$this->assertStringContainsString($picture, $result['profileimageurl']);
|
||||
@@ -1224,7 +1230,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = core_user_external::set_user_preferences($preferences);
|
||||
$result = external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(2, $result['saved']);
|
||||
|
||||
@@ -1255,7 +1261,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = core_user_external::set_user_preferences($preferences);
|
||||
$result = external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertCount(0, $result['saved']);
|
||||
$this->assertEquals('nopermission', $result['warnings'][0]['warningcode']);
|
||||
@@ -1280,7 +1286,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = core_user_external::set_user_preferences($preferences);
|
||||
$result = external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertCount(0, $result['saved']);
|
||||
$this->assertEquals('invaliduser', $result['warnings'][0]['warningcode']);
|
||||
@@ -1305,7 +1311,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = core_user_external::set_user_preferences($preferences);
|
||||
$result = external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['saved']);
|
||||
// Cleaned valud of the preference was saved.
|
||||
@@ -1359,7 +1365,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
);
|
||||
|
||||
$result = core_user_external::set_user_preferences($preferences);
|
||||
$result = external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::set_user_preferences_returns(), $result);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(1, $result['saved']);
|
||||
|
||||
@@ -1385,7 +1391,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Site policy not set.
|
||||
$result = core_user_external::agree_site_policy();
|
||||
$result = external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$this->assertFalse($result['status']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals('nositepolicy', $result['warnings'][0]['warningcode']);
|
||||
@@ -1395,7 +1401,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->assertEquals(0, $USER->policyagreed);
|
||||
|
||||
$result = core_user_external::agree_site_policy();
|
||||
$result = external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$this->assertTrue($result['status']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertEquals(1, $USER->policyagreed);
|
||||
@@ -1403,7 +1409,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Try again, we should get a warning.
|
||||
$result = core_user_external::agree_site_policy();
|
||||
$result = external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::agree_site_policy_returns(), $result);
|
||||
$this->assertFalse($result['status']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals('alreadyagreed', $result['warnings'][0]['warningcode']);
|
||||
@@ -1417,9 +1423,9 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
try {
|
||||
$result = core_user_external::agree_site_policy();
|
||||
$this->fail('Expecting \'usernotfullysetup\' moodle_exception to be thrown');
|
||||
} catch (moodle_exception $e) {
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertEquals('usernotfullysetup', $e->errorcode);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Exception $e) {
|
||||
$this->fail('Expecting \'usernotfullysetup\' moodle_exception to be thrown.');
|
||||
}
|
||||
}
|
||||
@@ -1432,7 +1438,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
$user = self::getDataGenerator()->create_user();
|
||||
$this->setUser($user);
|
||||
$usercontext = context_user::instance($user->id);
|
||||
$usercontext = \context_user::instance($user->id);
|
||||
|
||||
$filerecord = array(
|
||||
'contextid' => $usercontext->id,
|
||||
@@ -1448,7 +1454,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
|
||||
// Get my private files information.
|
||||
$result = core_user_external::get_private_files_info();
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_private_files_info_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_private_files_info_returns(), $result);
|
||||
$this->assertEquals(1, $result['filecount']);
|
||||
$this->assertEquals($file->get_filesize(), $result['filesize']);
|
||||
$this->assertEquals(0, $result['foldercount']);
|
||||
@@ -1457,7 +1463,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
// As admin, get user information.
|
||||
$this->setAdminUser();
|
||||
$result = core_user_external::get_private_files_info($user->id);
|
||||
$result = external_api::clean_returnvalue(core_user_external::get_private_files_info_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(core_user_external::get_private_files_info_returns(), $result);
|
||||
$this->assertEquals(1, $result['filecount']);
|
||||
$this->assertEquals($file->get_filesize(), $result['filesize']);
|
||||
$this->assertEquals(0, $result['foldercount']);
|
||||
@@ -1534,7 +1540,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$CFG->maxusersperpage = 3;
|
||||
|
||||
$result = \core_user\external\search_identity::execute('Lastt');
|
||||
$result = external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
|
||||
$this->assertEquals(2, count($result['list']));
|
||||
$this->assertEquals(3, $result['maxusersperpage']);
|
||||
@@ -1551,7 +1557,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$CFG->maxusersperpage = 2;
|
||||
|
||||
$result = \core_user\external\search_identity::execute('Firstt');
|
||||
$result = external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
|
||||
$this->assertEquals(2, count($result['list']));
|
||||
$this->assertEquals(2, $result['maxusersperpage']);
|
||||
@@ -1566,7 +1572,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
$CFG->maxusersperpage = 2;
|
||||
|
||||
$result = \core_user\external\search_identity::execute('City One');
|
||||
$result = external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
|
||||
$this->assertEquals(0, count($result['list']));
|
||||
$this->assertEquals(2, $result['maxusersperpage']);
|
||||
@@ -1581,7 +1587,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
|
||||
$result = \core_user\external\search_identity::execute('City One');
|
||||
$result = external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
|
||||
$this->assertEquals(2, count($result['list']));
|
||||
$this->assertEquals(2, $result['maxusersperpage']);
|
||||
@@ -1612,7 +1618,7 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
'<ruby>lastname firstname <rp>(</rp><rt>lastnamephonetic firstnamephonetic</rt><rp>)</rp></ruby>';
|
||||
|
||||
$result = \core_user\external\search_identity::execute('Ak');
|
||||
$result = external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
$result = \external_api::clean_returnvalue(\core_user\external\search_identity::execute_returns(), $result);
|
||||
|
||||
$this->assertEquals(1, count($result['list']));
|
||||
$this->assertEquals(3, $result['maxusersperpage']);
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
// 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_webservice;
|
||||
|
||||
use externallib_advanced_testcase;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -28,7 +32,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
|
||||
* @copyright 2012 Paul Charsley
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class core_webservice_externallib_testcase extends externallib_advanced_testcase {
|
||||
class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
public function setUp(): void {
|
||||
// Calling parent is good, always
|
||||
@@ -58,7 +62,7 @@ class core_webservice_externallib_testcase extends externallib_advanced_testcase
|
||||
self::setUser(self::getDataGenerator()->create_user($user));
|
||||
|
||||
// Add a web service and token.
|
||||
$webservice = new stdClass();
|
||||
$webservice = new \stdClass();
|
||||
$webservice->name = 'Test web service';
|
||||
$webservice->enabled = true;
|
||||
$webservice->restrictedusers = false;
|
||||
@@ -73,7 +77,7 @@ class core_webservice_externallib_testcase extends externallib_advanced_testcase
|
||||
'functionname' => 'core_course_get_contents'));
|
||||
|
||||
$_POST['wstoken'] = 'testtoken';
|
||||
$externaltoken = new stdClass();
|
||||
$externaltoken = new \stdClass();
|
||||
$externaltoken->token = 'testtoken';
|
||||
$externaltoken->tokentype = 0;
|
||||
$externaltoken->userid = $USER->id;
|
||||
@@ -83,10 +87,10 @@ class core_webservice_externallib_testcase extends externallib_advanced_testcase
|
||||
$externaltoken->timecreated = time();
|
||||
$DB->insert_record('external_tokens', $externaltoken);
|
||||
|
||||
$siteinfo = core_webservice_external::get_site_info();
|
||||
$siteinfo = \core_webservice_external::get_site_info();
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$siteinfo = external_api::clean_returnvalue(core_webservice_external::get_site_info_returns(), $siteinfo);
|
||||
$siteinfo = \external_api::clean_returnvalue(\core_webservice_external::get_site_info_returns(), $siteinfo);
|
||||
|
||||
$this->assertEquals('johnd', $siteinfo['username']);
|
||||
$this->assertEquals('John', $siteinfo['firstname']);
|
||||
@@ -141,7 +145,7 @@ class core_webservice_externallib_testcase extends externallib_advanced_testcase
|
||||
|
||||
// Set a fake token for the user admin.
|
||||
$_POST['wstoken'] = 'testtoken';
|
||||
$externaltoken = new stdClass();
|
||||
$externaltoken = new \stdClass();
|
||||
$externaltoken->token = 'testtoken';
|
||||
$externaltoken->tokentype = 0;
|
||||
$externaltoken->userid = $USER->id;
|
||||
@@ -155,10 +159,10 @@ class core_webservice_externallib_testcase extends externallib_advanced_testcase
|
||||
$CFG->defaulthomepage = HOMEPAGE_USER;
|
||||
set_user_preference('user_home_page_preference', HOMEPAGE_SITE);
|
||||
|
||||
$siteinfo = core_webservice_external::get_site_info();
|
||||
$siteinfo = \core_webservice_external::get_site_info();
|
||||
|
||||
// We need to execute the return values cleaning process to simulate the web service server.
|
||||
$siteinfo = external_api::clean_returnvalue(core_webservice_external::get_site_info_returns(), $siteinfo);
|
||||
$siteinfo = \external_api::clean_returnvalue(\core_webservice_external::get_site_info_returns(), $siteinfo);
|
||||
|
||||
$this->assertEquals(0, $siteinfo['userquota']);
|
||||
$this->assertEquals(USER_CAN_IGNORE_FILE_SIZE_LIMITS, $siteinfo['usermaxuploadfilesize']);
|
||||
@@ -180,8 +184,8 @@ class core_webservice_externallib_testcase extends externallib_advanced_testcase
|
||||
$userquota = PHP_INT_MAX . '000';
|
||||
set_config('userquota', $userquota);
|
||||
|
||||
$result = core_webservice_external::get_site_info();
|
||||
$result = external_api::clean_returnvalue(core_webservice_external::get_site_info_returns(), $result);
|
||||
$result = \core_webservice_external::get_site_info();
|
||||
$result = \external_api::clean_returnvalue(\core_webservice_external::get_site_info_returns(), $result);
|
||||
$this->assertEquals(PHP_INT_MAX, $result['userquota']);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user