/** * 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}); } } } }
/** * Get list of courses user is enrolled in (only active enrolments are returned). * Please note the current user must be able to access the course, otherwise the course is not included. * * @param int $userid * @return array of courses * @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 use core_enrol_external::get_users_courses() */ public static function get_users_courses($userid) { return core_enrol_external::get_users_courses($userid); }
/** * Get list of courses user is enrolled in (only active enrolments are returned). * Please note the current user must be able to access the course, otherwise the course is not included. * * @param int $userid * @return array of courses * @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 use core_enrol_external::get_users_courses() */ public static function get_users_courses($userid, $categoryid) { //echo "check".$categoryid; return core_enrol_external::get_users_courses($userid, $categoryid); }
/** * 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. $enrol = enrol_get_plugin('manual'); $roleid = null; foreach ($courses as $course) { $context = context_course::instance($course->id); $roleid = $this->assignUserCapability('moodle/course:viewparticipants', $context->id, $roleid); $enrolinstances = enrol_get_instances($course->id, true); foreach ($enrolinstances as $courseenrolinstance) { if ($courseenrolinstance->enrol == "manual") { $instance = $courseenrolinstance; break; } } $enrol->enrol_user($instance, $USER->id, $roleid); } // Call the external function. $enrolledincourses = core_enrol_external::get_users_courses($USER->id); // Check we retrieve the good total number of enrolled users. $this->assertEquals(2, count($enrolledincourses)); }