/** * Returns description of method result value * * @return external_description * @since Moodle 2.0 * @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_user_external::create_users_returns() */ public static function create_users_returns() { return core_user_external::create_users_returns(); }
/** * Test create_users */ public function test_create_users() { global $USER, $CFG, $DB; $this->resetAfterTest(true); $user1 = array( 'username' => 'usernametest1', 'password' => 'Moodle2012!', 'idnumber' => 'idnumbertest1', 'firstname' => 'First Name User Test 1', 'lastname' => 'Last Name User Test 1', 'email' => '*****@*****.**', 'description' => 'This is a description for user 1', 'city' => 'Perth', 'country' => 'au' ); $context = context_system::instance(); $roleid = $this->assignUserCapability('moodle/user:create', $context->id); // Call the external function. $createdusers = core_user_external::create_users(array($user1)); // 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); // Check we retrieve the good total number of created users + no error on capability. $this->assertEquals(1, count($createdusers)); foreach($createdusers as $createduser) { $dbuser = $DB->get_record('user', array('id' => $createduser['id'])); $this->assertEquals($dbuser->username, $user1['username']); $this->assertEquals($dbuser->idnumber, $user1['idnumber']); $this->assertEquals($dbuser->firstname, $user1['firstname']); $this->assertEquals($dbuser->lastname, $user1['lastname']); $this->assertEquals($dbuser->email, $user1['email']); $this->assertEquals($dbuser->description, $user1['description']); $this->assertEquals($dbuser->city, $user1['city']); $this->assertEquals($dbuser->country, $user1['country']); } // Call without required capability $this->unassignUserCapability('moodle/user:create', $context->id, $roleid); $this->setExpectedException('required_capability_exception'); $createdusers = core_user_external::create_users(array($user1)); }