mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 00:16:46 +02:00
webservice MDL-21658 add moodle_group_get_groupmembers() and moodle_group_get_course_groups() unit test functions
This commit is contained in:
parent
3acb709515
commit
e76e431c66
1 changed files with 53 additions and 1 deletions
|
@ -71,7 +71,9 @@ class webservice_test extends UnitTestCase {
|
|||
'moodle_group_get_groups' => false,
|
||||
'moodle_course_get_courses' => false,
|
||||
'moodle_user_get_users_by_id' => false,
|
||||
'moodle_enrol_get_enrolled_users' => false
|
||||
'moodle_enrol_get_enrolled_users' => false,
|
||||
'moodle_group_get_course_groups' => false,
|
||||
'moodle_group_get_groupmembers' => false
|
||||
);
|
||||
|
||||
////// WRITE DB tests ////
|
||||
|
@ -973,5 +975,55 @@ class webservice_test extends UnitTestCase {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* READ ONLY test
|
||||
* TODO: find a better solution that running web service for each course
|
||||
* in the system
|
||||
* For each courses, test the number of groups
|
||||
* @param object $client
|
||||
*/
|
||||
function moodle_group_get_course_groups($client) {
|
||||
global $DB;
|
||||
|
||||
$courses = $DB->get_records('course');
|
||||
foreach($courses as $course) {
|
||||
$coursegroups = groups_get_all_groups($course->id);
|
||||
$function = 'moodle_group_get_course_groups';
|
||||
$params = array('courseid' => $course->id);
|
||||
$groups = $client->call($function, $params);
|
||||
$this->assertEqual(count($groups), count($coursegroups));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* READ ONLY test
|
||||
* Test that the same number of members are returned
|
||||
* for each existing group in the system
|
||||
* @param object $client
|
||||
*/
|
||||
function moodle_group_get_groupmembers($client) {
|
||||
global $DB;
|
||||
|
||||
$groups = $DB->get_records('groups');
|
||||
$groupids = array();
|
||||
foreach ($groups as $group) {
|
||||
$groupids[] = $group->id;
|
||||
}
|
||||
$function = 'moodle_group_get_groupmembers';
|
||||
$params = array('groupids' => $groupids);
|
||||
$groupsmembers = $client->call($function, $params);
|
||||
|
||||
foreach($groupsmembers as $groupmembers) {
|
||||
$dbgroupmembers = groups_get_members($groupmembers['groupid']);
|
||||
unset($groups[$groupmembers['groupid']]);
|
||||
$this->assertEqual(count($dbgroupmembers), count($groupmembers['userids']));
|
||||
}
|
||||
|
||||
//check that all existing groups have been returned by the web service function
|
||||
$this->assertTrue(empty($groups));
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue