Exemple #1
0
    /**
     * Test update_users
     */
    public function test_update_users() {
        global $USER, $CFG, $DB;

        $this->resetAfterTest(true);

        $user1 = self::getDataGenerator()->create_user();

        $user1 = array(
            'id' => $user1->id,
            '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:update', $context->id);

        // Call the external function.
        core_user_external::update_users(array($user1));

        $dbuser = $DB->get_record('user', array('id' => $user1['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:update', $context->id, $roleid);
        $this->setExpectedException('required_capability_exception');
        core_user_external::update_users(array($user1));
    }
Exemple #2
0
 /**
  * Update users
  *
  * @param array $users
  * @return null
  * @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::update_users()
  */
 public static function update_users($users)
 {
     return core_user_external::update_users($users);
 }
Exemple #3
0
 /**
  * Test update_users
  */
 public function test_update_users()
 {
     global $USER, $CFG, $DB;
     $this->resetAfterTest(true);
     $wsuser = self::getDataGenerator()->create_user();
     self::setUser($wsuser);
     $context = context_user::instance($USER->id);
     $contextid = $context->id;
     $filename = "reddot.png";
     $filecontent = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38" . "GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
     // Call the files api to create a file.
     $draftfile = core_files_external::upload($contextid, 'user', 'draft', 0, '/', $filename, $filecontent, null, null);
     $draftfile = external_api::clean_returnvalue(core_files_external::upload_returns(), $draftfile);
     $draftid = $draftfile['itemid'];
     $user1 = self::getDataGenerator()->create_user();
     $user1 = array('id' => $user1->id, 'username' => 'usernametest1', 'password' => 'Moodle2012!', 'idnumber' => 'idnumbertest1', 'firstname' => 'First Name User Test 1', 'lastname' => 'Last Name User Test 1', 'middlename' => 'Middle Name User Test 1', 'lastnamephonetic' => '最後のお名前のテスト一号', 'firstnamephonetic' => 'お名前のテスト一号', 'alternatename' => 'Alternate Name User Test 1', 'email' => '*****@*****.**', 'description' => 'This is a description for user 1', 'city' => 'Perth', 'userpicture' => $draftid, 'country' => 'AU');
     $context = context_system::instance();
     $roleid = $this->assignUserCapability('moodle/user:update', $context->id);
     // Call the external function.
     core_user_external::update_users(array($user1));
     $dbuser = $DB->get_record('user', array('id' => $user1['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']);
     $this->assertNotEquals(0, $dbuser->picture, 'Picture must be set to the new icon itemid for this user');
     // Confirm no picture change when parameter is not supplied.
     unset($user1['userpicture']);
     core_user_external::update_users(array($user1));
     $dbusernopic = $DB->get_record('user', array('id' => $user1['id']));
     $this->assertEquals($dbuser->picture, $dbusernopic->picture, 'Picture not change without the parameter.');
     // Confirm delete of picture deletes the picture from the user record.
     $user1['userpicture'] = 0;
     core_user_external::update_users(array($user1));
     $dbuserdelpic = $DB->get_record('user', array('id' => $user1['id']));
     $this->assertEquals(0, $dbuserdelpic->picture, 'Picture must be deleted when sent as 0.');
     // Call without required capability.
     $this->unassignUserCapability('moodle/user:update', $context->id, $roleid);
     $this->expectException('required_capability_exception');
     core_user_external::update_users(array($user1));
 }