mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 20:50:21 +01:00
web service MDL-12886 Add unit tests for Group web service functions.
This commit is contained in:
parent
3b8b9b6a8b
commit
2061e59c45
@ -6,6 +6,7 @@
|
|||||||
* @author Jordi Piguillem
|
* @author Jordi Piguillem
|
||||||
* @author David Castro
|
* @author David Castro
|
||||||
* @author Ferran Recio
|
* @author Ferran Recio
|
||||||
|
* @author Jerome Mouneyrac
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once(dirname(dirname(__FILE__)) . '/group/lib.php');
|
require_once(dirname(dirname(__FILE__)) . '/group/lib.php');
|
||||||
@ -31,11 +32,11 @@ final class group_external {
|
|||||||
|
|
||||||
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
$group = new stdClass;
|
$group = new stdClass;
|
||||||
$group->courseid = $params['courseid'];
|
$group->courseid = $params['courseid'];
|
||||||
$group->name = $params['groupname'];
|
$group->name = $params['groupname'];
|
||||||
|
|
||||||
// @TODO: groups_create_group() does not check courseid
|
// @TODO: groups_create_group() does not check courseid
|
||||||
return groups_create_group($group, false);
|
return groups_create_group($group, false);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw new moodle_exception('wscouldnotcreategroup');
|
throw new moodle_exception('wscouldnotcreategroup');
|
||||||
@ -43,7 +44,68 @@ final class group_external {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a group member
|
* Create some groups
|
||||||
|
* @param array|struct $params
|
||||||
|
* @subparam string $params:group->groupname
|
||||||
|
* @subparam integer $params:group->courseid
|
||||||
|
* @return array $return
|
||||||
|
* @subparam integer $return:groupid
|
||||||
|
*/
|
||||||
|
static function tmp_create_groups($params) {
|
||||||
|
global $USER;
|
||||||
|
$groupids = array();
|
||||||
|
|
||||||
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
|
||||||
|
foreach ($params as $groupparam) {
|
||||||
|
$group = new stdClass;
|
||||||
|
$group->courseid = clean_param($groupparam['courseid'], PARAM_INTEGER);
|
||||||
|
$group->name = clean_param($groupparam['groupname'], PARAM_ALPHANUMEXT);
|
||||||
|
$groupids[] = groups_create_group($group, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $groupids;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new moodle_exception('wscouldnotcreategroupnopermission');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get some groups
|
||||||
|
* @param array|struct $params
|
||||||
|
* @subparam integer $params:groupid
|
||||||
|
* @return object $return
|
||||||
|
* @subreturn integer $return:group->id
|
||||||
|
* @subreturn integer $return:group->courseid
|
||||||
|
* @subreturn string $return:group->name
|
||||||
|
* @subreturn string $return:group->enrolmentkey
|
||||||
|
*/
|
||||||
|
static function tmp_get_groups($params){
|
||||||
|
|
||||||
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
|
||||||
|
foreach ($params as $groupid) {
|
||||||
|
$group = groups_get_group(clean_param($groupid, PARAM_INTEGER));
|
||||||
|
|
||||||
|
$ret = new StdClass();
|
||||||
|
$ret->id = $group->id;
|
||||||
|
$ret->courseid = $group->courseid;
|
||||||
|
$ret->name = $group->name;
|
||||||
|
$ret->enrolmentkey = $group->enrolmentkey;
|
||||||
|
|
||||||
|
$groups[] = $ret;
|
||||||
|
}
|
||||||
|
return $groups;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new moodle_exception('wscouldnotgetgroupnopermission');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a group
|
||||||
* @param array|struct $params
|
* @param array|struct $params
|
||||||
* @subparam integer $params->groupid
|
* @subparam integer $params->groupid
|
||||||
* @return object $return
|
* @return object $return
|
||||||
@ -52,20 +114,20 @@ final class group_external {
|
|||||||
* @subreturn string $return->group->name
|
* @subreturn string $return->group->name
|
||||||
* @subreturn string $return->group->enrolmentkey
|
* @subreturn string $return->group->enrolmentkey
|
||||||
*/
|
*/
|
||||||
static function tmp_get_group($params){
|
static function tmp_get_group($params){
|
||||||
|
|
||||||
// @TODO: any capability to check?
|
// @TODO: any capability to check?
|
||||||
$group = groups_get_group($params['groupid']);
|
$group = groups_get_group($params['groupid']);
|
||||||
|
|
||||||
$ret = new StdClass();
|
$ret = new StdClass();
|
||||||
$ret->id = $group->id;
|
$ret->id = $group->id;
|
||||||
$ret->courseid = $group->courseid;
|
$ret->courseid = $group->courseid;
|
||||||
$ret->name = $group->name;
|
$ret->name = $group->name;
|
||||||
$ret->enrolmentkey = $group->enrolmentkey;
|
$ret->enrolmentkey = $group->enrolmentkey;
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -74,17 +136,39 @@ final class group_external {
|
|||||||
* @subparam integer $params->groupid
|
* @subparam integer $params->groupid
|
||||||
* @return boolean result
|
* @return boolean result
|
||||||
*/
|
*/
|
||||||
static function tmp_delete_group($params){
|
static function tmp_delete_group($params){
|
||||||
|
|
||||||
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
|
||||||
// @TODO groups_add_member() does not check userid
|
// @TODO groups_add_member() does not check userid
|
||||||
return groups_delete_group($params['groupid']);
|
return groups_delete_group($params['groupid']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw new moodle_exception('wscouldnotdeletegroup');
|
throw new moodle_exception('wscouldnotdeletegroup');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete some groups
|
||||||
|
* @param array|struct $params
|
||||||
|
* @subparam integer $params:groupid
|
||||||
|
* @return boolean result
|
||||||
|
*/
|
||||||
|
static function tmp_delete_groups($params){
|
||||||
|
|
||||||
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
$deletionsuccessfull = true;
|
||||||
|
foreach ($params as $groupid) {
|
||||||
|
if (!groups_delete_group(clean_param($groupid, PARAM_INTEGER))) {
|
||||||
|
$deletionsuccessfull = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $deletionsuccessfull;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new moodle_exception('wscouldnotdeletegroupnopermission');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -93,8 +177,8 @@ final class group_external {
|
|||||||
* @subparam integer $params->userid
|
* @subparam integer $params->userid
|
||||||
* @return boolean result
|
* @return boolean result
|
||||||
*/
|
*/
|
||||||
static function tmp_get_groupmember($params){
|
static function tmp_get_groupmember($params){
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a member to a group
|
* Add a member to a group
|
||||||
@ -103,17 +187,42 @@ final class group_external {
|
|||||||
* @subparam integer $params->userid
|
* @subparam integer $params->userid
|
||||||
* @return boolean result
|
* @return boolean result
|
||||||
*/
|
*/
|
||||||
static function tmp_add_groupmember($params){
|
static function tmp_add_groupmember($params){
|
||||||
|
|
||||||
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
|
||||||
// @TODO groups_add_member() does not check userid
|
// @TODO groups_add_member() does not check userid
|
||||||
return groups_add_member($params['groupid'], $params['userid']);
|
return groups_add_member($params['groupid'], $params['userid']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw new moodle_exception('wscouldnotaddgroupmember');
|
throw new moodle_exception('wscouldnotaddgroupmember');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add some members to some groups
|
||||||
|
* @param array|struct $params
|
||||||
|
* @subparam integer $params:member->groupid
|
||||||
|
* @subparam integer $params:member->userid
|
||||||
|
* @return boolean result
|
||||||
|
*/
|
||||||
|
static function tmp_add_groupmembers($params){
|
||||||
|
|
||||||
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
$addmembersuccessfull = true;
|
||||||
|
foreach($params as $member) {
|
||||||
|
$groupid = clean_param($member['groupid'], PARAM_INTEGER);
|
||||||
|
$userid = clean_param($member['userid'], PARAM_INTEGER);
|
||||||
|
if (!groups_add_member($groupid, $userid)) {
|
||||||
|
$addmembersuccessfull = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $addmembersuccessfull;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new moodle_exception('wscouldnotaddgroupmembernopermission');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -122,14 +231,37 @@ final class group_external {
|
|||||||
* @subparam integer $params->userid
|
* @subparam integer $params->userid
|
||||||
* @return boolean result
|
* @return boolean result
|
||||||
*/
|
*/
|
||||||
static function tmp_delete_groupmember($params){
|
static function tmp_delete_groupmember($params){
|
||||||
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
|
||||||
return groups_remove_member($params['groupid'], $params['userid']);
|
return groups_remove_member($params['groupid'], $params['userid']);
|
||||||
} else {
|
} else {
|
||||||
throw new moodle_exception('wscouldnotremovegroupmember');
|
throw new moodle_exception('wscouldnotremovegroupmember');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete some members from some groups
|
||||||
|
* @param array|struct $params
|
||||||
|
* @subparam integer $params:member->groupid
|
||||||
|
* @subparam integer $params:member->userid
|
||||||
|
* @return boolean result
|
||||||
|
*/
|
||||||
|
static function tmp_delete_groupmembers($params){
|
||||||
|
if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) {
|
||||||
|
$addmembersuccessfull = true;
|
||||||
|
foreach($params as $member) {
|
||||||
|
$groupid = clean_param($member['groupid'], PARAM_INTEGER);
|
||||||
|
$userid = clean_param($member['userid'], PARAM_INTEGER);
|
||||||
|
if (!groups_remove_member($groupid, $userid)) {
|
||||||
|
$addmembersuccessfull = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $addmembersuccessfull;
|
||||||
|
} else {
|
||||||
|
throw new moodle_exception('wscouldnotremovegroupmembernopermission');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,10 @@
|
|||||||
function groups_add_member($groupid, $userid) {
|
function groups_add_member($groupid, $userid) {
|
||||||
global $DB;
|
global $DB;
|
||||||
|
|
||||||
|
if (! $DB->record_exists('user', array('id'=>$userid))) {
|
||||||
|
throw new moodle_exception('useriddoesntexist');
|
||||||
|
}
|
||||||
|
|
||||||
if (!groups_group_exists($groupid)) {
|
if (!groups_group_exists($groupid)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -59,6 +63,10 @@ function groups_add_member($groupid, $userid) {
|
|||||||
function groups_remove_member($groupid, $userid) {
|
function groups_remove_member($groupid, $userid) {
|
||||||
global $DB;
|
global $DB;
|
||||||
|
|
||||||
|
if (! $DB->record_exists('user', array('id'=>$userid))) {
|
||||||
|
throw new moodle_exception('useriddoesntexist');
|
||||||
|
}
|
||||||
|
|
||||||
if (!groups_group_exists($groupid)) {
|
if (!groups_group_exists($groupid)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -90,6 +98,13 @@ function groups_remove_member($groupid, $userid) {
|
|||||||
function groups_create_group($data, $editform=false) {
|
function groups_create_group($data, $editform=false) {
|
||||||
global $CFG, $DB;
|
global $CFG, $DB;
|
||||||
require_once("$CFG->libdir/gdlib.php");
|
require_once("$CFG->libdir/gdlib.php");
|
||||||
|
|
||||||
|
//check that courseid exists
|
||||||
|
$course = $DB->get_record('course',array('id' => $data->courseid));
|
||||||
|
if (empty($course)) {
|
||||||
|
throw new moodle_exception('coursedoesntexistcannotcreategroup');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$data->timecreated = time();
|
$data->timecreated = time();
|
||||||
$data->timemodified = $data->timecreated;
|
$data->timemodified = $data->timecreated;
|
||||||
@ -191,7 +206,7 @@ function groups_delete_group($grouporid) {
|
|||||||
} else {
|
} else {
|
||||||
$groupid = $grouporid;
|
$groupid = $grouporid;
|
||||||
if (!$group = $DB->get_record('groups', array('id'=>$groupid))) {
|
if (!$group = $DB->get_record('groups', array('id'=>$groupid))) {
|
||||||
return false;
|
throw new moodle_exception('groupiddoesntexistcannotdelete');;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
241
group/simpletest/testexternal.php
Normal file
241
group/simpletest/testexternal.php
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Moodle - Modular Object-Oriented Dynamic Learning Environment
|
||||||
|
* http://moodle.com
|
||||||
|
*
|
||||||
|
* LICENSE
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details:
|
||||||
|
*
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*
|
||||||
|
* @category Moodle
|
||||||
|
* @package group
|
||||||
|
* @copyright Copyright (c) 1999 onwards Martin Dougiamas http://dougiamas.com
|
||||||
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit tests for (some of) user/external.php.
|
||||||
|
* WARNING: DO NOT RUN THIS TEST ON A PRODUCTION SITE
|
||||||
|
* => DO NOT UNCOMMENT THESE TEST FUNCTIONS EXCEPT IF YOU ARE DEVELOPER
|
||||||
|
* => NONE OF THESE TEST FUNCTIONS SHOULD BE UNCOMMENT BY DEFAULT
|
||||||
|
* => THESE TEST FUNCTIONS ARE DEPENDENT BETWEEEN EACH OTHER
|
||||||
|
* => THE FUNCTION ORDER MUST NOT BE CHANGED
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* THIS TEST NEEDS TO BE RUN AS ADMIN!!!
|
||||||
|
* @author Jerome Mouneyrac
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once($CFG->dirroot . '/group/external.php');
|
||||||
|
require_once(dirname(dirname(dirname(__FILE__))) . '/user/lib.php');
|
||||||
|
|
||||||
|
class group_external_test extends UnitTestCase {
|
||||||
|
/*
|
||||||
|
var $realDB;
|
||||||
|
var $group;
|
||||||
|
var $group2;
|
||||||
|
var $userid1;
|
||||||
|
var $userid2;
|
||||||
|
var $userid3;
|
||||||
|
var $userid4;
|
||||||
|
var $course;
|
||||||
|
var $categoryid;
|
||||||
|
|
||||||
|
function setUp() {
|
||||||
|
global $DB;
|
||||||
|
|
||||||
|
/// create a category
|
||||||
|
$tempcat = new object();
|
||||||
|
$tempcat->name = 'categoryForTestGroup';
|
||||||
|
$this->categoryid = $DB->insert_record('course_categories', $tempcat);
|
||||||
|
|
||||||
|
/// create a course
|
||||||
|
$course->category = $this->categoryid;
|
||||||
|
$course->summary = 'Test course for Group';
|
||||||
|
$course->format = 'weeks';
|
||||||
|
$course->numsections = '10';
|
||||||
|
$course->startdate = mktime();
|
||||||
|
$course->name = "Test course for Group";
|
||||||
|
$course->fullname = "Test course for Group";
|
||||||
|
$course->shortname = "TestCourseForGroup";
|
||||||
|
$course = create_course($course);
|
||||||
|
$this->course = $course;
|
||||||
|
|
||||||
|
|
||||||
|
/// create two students
|
||||||
|
$user = new stdClass();
|
||||||
|
$user->username = 'mockuserfortestingXX';
|
||||||
|
$user->firstname = 'mockuserfortestingX_firstname';
|
||||||
|
$user->lastname = 'mockuserfortestingX_lastname';
|
||||||
|
$user->email = 'mockuserfortestingX@moodle.com';
|
||||||
|
$user->password = 'mockuserfortestingX_password';
|
||||||
|
$this->userid1 = tmp_create_user($user);
|
||||||
|
$user->username = 'mockuserfortestingXY';
|
||||||
|
$user->firstname = 'mockuserfortestingY_firstname';
|
||||||
|
$user->lastname = 'mockuserfortestingY_lastname';
|
||||||
|
$user->email = 'mockuserfortestingY@moodle.com';
|
||||||
|
$user->password = 'mockuserfortestingY_password';
|
||||||
|
$this->userid2 = tmp_create_user($user);
|
||||||
|
|
||||||
|
//create some more test users (not add yet to any group)
|
||||||
|
$user = new stdClass();
|
||||||
|
$user->username = 'mockuserfortestingZ';
|
||||||
|
$user->firstname = 'mockuserfortestingZ_firstname';
|
||||||
|
$user->lastname = 'mockuserfortestingZ_lastname';
|
||||||
|
$user->email = 'mockuserfortestingZ@moodle.com';
|
||||||
|
$user->password = 'mockuserfortestingZ_password';
|
||||||
|
$this->userid3 = tmp_create_user($user);
|
||||||
|
$user = new stdClass();
|
||||||
|
$user->username = 'mockuserfortestingZ2';
|
||||||
|
$user->firstname = 'mockuserfortestingZ2_firstname';
|
||||||
|
$user->lastname = 'mockuserfortestingZ2_lastname';
|
||||||
|
$user->email = 'mockuserfortestingZ2@moodle.com';
|
||||||
|
$user->password = 'mockuserfortestingZ2_password';
|
||||||
|
$this->userid4 = tmp_create_user($user);
|
||||||
|
|
||||||
|
/// create a group with these two students
|
||||||
|
$this->group = new stdClass();
|
||||||
|
$this->group->courseid = $this->course->id;
|
||||||
|
$this->group->name = "Unit Test group";
|
||||||
|
$this->group->id = groups_create_group( $this->group, false);
|
||||||
|
|
||||||
|
/// create a group with one of these students
|
||||||
|
$this->group2 = new stdClass();
|
||||||
|
$this->group2->courseid = $this->course->id;
|
||||||
|
$this->group2->name = "Unit Test group 2";
|
||||||
|
$this->group2->id = groups_create_group( $this->group2, false);
|
||||||
|
|
||||||
|
|
||||||
|
//add the two students as member of the group
|
||||||
|
groups_add_member($this->group->id, $this->userid1);
|
||||||
|
groups_add_member($this->group->id, $this->userid2);
|
||||||
|
groups_add_member($this->group2->id, $this->userid1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function tearDown() {
|
||||||
|
global $DB;
|
||||||
|
|
||||||
|
/// delete the course
|
||||||
|
delete_course($this->course, false);
|
||||||
|
|
||||||
|
/// delete the category
|
||||||
|
$DB->delete_records('course_categories',array('id' => $this->categoryid));
|
||||||
|
|
||||||
|
/// delete the two students
|
||||||
|
$user = $DB->get_record('user', array('username'=>'mockuserfortestingXX', 'mnethostid'=>1));
|
||||||
|
delete_user($user);
|
||||||
|
$user = $DB->get_record('user', array('username'=>'mockuserfortestingXY', 'mnethostid'=>1));
|
||||||
|
delete_user($user);
|
||||||
|
|
||||||
|
/// delete other test users
|
||||||
|
$user = $DB->get_record('user', array('username'=>'mockuserfortestingZ', 'mnethostid'=>1));
|
||||||
|
delete_user($user);
|
||||||
|
$user = $DB->get_record('user', array('username'=>'mockuserfortestingZ2', 'mnethostid'=>1));
|
||||||
|
delete_user($user);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_create_groups() {
|
||||||
|
/// create two different groups
|
||||||
|
$params = array();
|
||||||
|
$group = array('groupname' => 'Create Unit Test Group 1', 'courseid' => $this->course->id);
|
||||||
|
$params[] = $group;
|
||||||
|
$group = array('groupname' => 'Create Unit Test Group 2', 'courseid' => $this->course->id);
|
||||||
|
$params[] = $group;
|
||||||
|
$groupids = group_external::tmp_create_groups($params);
|
||||||
|
$this->assertEqual(sizeof($groupids), 2);
|
||||||
|
$this->assertIsA($groupids[key($groupids)], "integer");
|
||||||
|
$this->assertNotNull($groupids[key($groupids)]);
|
||||||
|
|
||||||
|
/// create a course with a not existing course id
|
||||||
|
$params = array();
|
||||||
|
$group = array('groupname' => 'Create Unit Test Group 3', 'courseid' => 6544656);
|
||||||
|
$params[] = $group;
|
||||||
|
$this->expectException(new moodle_exception('coursedoesntexistcannotcreategroup'));
|
||||||
|
$groupids = group_external::tmp_create_groups($params);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_get_groups() {
|
||||||
|
/// retrieve the two groups
|
||||||
|
$params = array($this->group->id, $this->group2->id);
|
||||||
|
$groups = group_external::tmp_get_groups($params);
|
||||||
|
$this->assertEqual(sizeof($groups), 2);
|
||||||
|
$group = $groups[key($groups)];
|
||||||
|
next($groups);
|
||||||
|
$group2 = $groups[key($groups)];
|
||||||
|
$this->assertEqual($group->id, $this->group->id);
|
||||||
|
$this->assertEqual($group->courseid, $this->group->courseid);
|
||||||
|
$this->assertEqual($group->name, $this->group->name);
|
||||||
|
$this->assertEqual($group2->id, $this->group2->id);
|
||||||
|
$this->assertEqual($group2->courseid, $this->group2->courseid);
|
||||||
|
$this->assertEqual($group2->name, $this->group2->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_add_group_members() {
|
||||||
|
//add the two members without group
|
||||||
|
$params = array(array("groupid" => $this->group->id, "userid" => $this->userid3), array("groupid" => $this->group->id, "userid" => $this->userid4));
|
||||||
|
$result = group_external::tmp_add_groupmembers($params);
|
||||||
|
$this->assertEqual($result, true);
|
||||||
|
|
||||||
|
//add them a new time
|
||||||
|
$params = array(array("groupid" => $this->group->id, "userid" => $this->userid3), array("groupid" => $this->group->id, "userid" => $this->userid4));
|
||||||
|
$result = group_external::tmp_add_groupmembers($params);
|
||||||
|
$this->assertEqual($result, true);
|
||||||
|
|
||||||
|
//One of the userid doesn't exist
|
||||||
|
$params = array(array("groupid" => $this->group->id, "userid" => 654685), array("groupid" => $this->group->id, "userid" => $this->userid4));
|
||||||
|
$this->expectException(new moodle_exception('useriddoesntexist'));
|
||||||
|
$result = group_external::tmp_add_groupmembers($params);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_add_group_members2() {
|
||||||
|
//the group id doesn't exist
|
||||||
|
$params = array(array("groupid" => 6465465, "userid" => $this->userid3), array("groupid" => $this->group->id, "userid" => $this->userid4));
|
||||||
|
$result = group_external::tmp_add_groupmembers($params);
|
||||||
|
$this->assertEqual($result, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_delete_group_members() {
|
||||||
|
//One of the userid doesn't exist
|
||||||
|
$params = array(array("groupid" => $this->group->id, "userid" => 654685), array("groupid" => $this->group->id, "userid" => $this->userid2));
|
||||||
|
$this->expectException(new moodle_exception('useriddoesntexist'));
|
||||||
|
$result = group_external::tmp_delete_groupmembers($params);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_delete_group_members2() {
|
||||||
|
//the group id doesn't exist
|
||||||
|
$params = array(array("groupid" => 6465465, "userid" => $this->userid1), array("groupid" => $this->group->id, "userid" => $this->userid2));
|
||||||
|
$result = group_external::tmp_delete_groupmembers($params);
|
||||||
|
$this->assertEqual($result, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_delete_group_members3() {
|
||||||
|
//delete members from group
|
||||||
|
$params = array(array("groupid" => $this->group->id, "userid" => $this->userid1), array("groupid" => $this->group->id, "userid" => $this->userid2));
|
||||||
|
$result = group_external::tmp_delete_groupmembers($params);
|
||||||
|
$this->assertEqual($result, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testTmp_delete_groups() {
|
||||||
|
$params = array($this->group->id, $this->group2->id);
|
||||||
|
$result = group_external::tmp_delete_groups($params);
|
||||||
|
$this->assertEqual($result, true);
|
||||||
|
|
||||||
|
//Exception: delete same groups
|
||||||
|
$params = array($this->group->id, $this->group2->id);
|
||||||
|
$this->expectException(new moodle_exception('groupiddoesntexistcannotdelete'));
|
||||||
|
$result = group_external::tmp_delete_groups($params);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
?>
|
Loading…
x
Reference in New Issue
Block a user