/** * Test get_users_courses */ public function test_get_users_courses() { global $USER; $this->resetAfterTest(true); $course1 = self::getDataGenerator()->create_course(); $course2 = self::getDataGenerator()->create_course(); $courses = array($course1, $course2); // Enrol $USER in the courses. // We use the manual plugin. $roleid = null; foreach ($courses as $course) { $context = context_course::instance($course->id); $roleid = $this->assignUserCapability('moodle/course:viewparticipants', $context->id, $roleid); $this->getDataGenerator()->enrol_user($USER->id, $course->id, $roleid, 'manual'); } // Call the external function. $enrolledincourses = core_enrol_external::get_users_courses($USER->id); // 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); // Check we retrieve the good total number of enrolled users. $this->assertEquals(2, count($enrolledincourses)); }
/** * Test get_users_courses */ public function test_get_users_courses() { global $USER; $this->resetAfterTest(true); $coursedata1 = array('summary' => 'Lightwork Course 1 description', 'summaryformat' => FORMAT_MOODLE, 'lang' => 'en', 'enablecompletion' => true, 'showgrades' => true); $course1 = self::getDataGenerator()->create_course($coursedata1); $course2 = self::getDataGenerator()->create_course(); $courses = array($course1, $course2); // Enrol $USER in the courses. // We use the manual plugin. $roleid = null; $contexts = array(); foreach ($courses as $course) { $contexts[$course->id] = context_course::instance($course->id); $roleid = $this->assignUserCapability('moodle/course:viewparticipants', $contexts[$course->id]->id, $roleid); $this->getDataGenerator()->enrol_user($USER->id, $course->id, $roleid, 'manual'); } // Call the external function. $enrolledincourses = core_enrol_external::get_users_courses($USER->id); // 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); // Check we retrieve the good total number of enrolled users. $this->assertEquals(2, count($enrolledincourses)); // We need to format summary and summaryformat before to compare them with those values returned by the webservice. list($course1->summary, $course1->summaryformat) = external_format_text($course1->summary, $course1->summaryformat, $contexts[$course1->id]->id, 'course', 'summary', 0); // Check there are no differences between $course1 properties and course values returned by the webservice // only for those fields listed in the $coursedata1 array. foreach ($enrolledincourses as $courseenrol) { if ($courseenrol['id'] == $course1->id) { foreach ($coursedata1 as $fieldname => $value) { $this->assertEquals($courseenrol[$fieldname], $course1->{$fieldname}); } } } }
/** * Returns description of method result value * * @return external_description * @since Moodle 2.1 * @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more. * @todo MDL-31194 This will be deleted in Moodle 2.5. * @see core_enrol_external::get_users_courses_returns() */ public static function get_users_courses_returns() { return core_enrol_external::get_users_courses_returns(); }