function DrupalWebTestCase::drupalCreateUser
Create a user with a given set of permissions.
Parameters
array $permissions: Array of permission names to assign to user. Note that the user always has the default permissions derived from the "authenticated users" role.
Return value
object|false A fully loaded user object with pass_raw property, or FALSE if account creation fails.
125 calls to DrupalWebTestCase::drupalCreateUser()
- AJAXCommandsTestCase::testAJAXCommands in modules/
simpletest/ tests/ ajax.test - Test the various Ajax Commands.
- AJAXElementValidation::testAJAXElementValidation in modules/
simpletest/ tests/ ajax.test - Try to post an Ajax change to a form that has a validated element.
- AJAXFormValuesTestCase::setUp in modules/
simpletest/ tests/ ajax.test - AJAXMultiFormTestCase::setUp in modules/
simpletest/ tests/ ajax.test - BatchPageTestCase::testBatchProgressPageTheme in modules/
simpletest/ tests/ batch.test - Tests that the batch API progress page uses the correct theme.
File
-
modules/
simpletest/ drupal_web_test_case.php, line 1230
Class
- DrupalWebTestCase
- Test case for typical Drupal tests.
Code
protected function drupalCreateUser(array $permissions = array()) {
// Create a role with the given permission set, if any.
$rid = FALSE;
if ($permissions) {
$rid = $this->drupalCreateRole($permissions);
if (!$rid) {
return FALSE;
}
}
// Create a user assigned to that role.
$edit = array();
$edit['name'] = $this->randomName();
$edit['mail'] = $edit['name'] . '@example.com';
$edit['pass'] = user_password();
$edit['status'] = 1;
if ($rid) {
$edit['roles'] = array(
$rid => $rid,
);
}
$account = user_save(drupal_anonymous_user(), $edit);
$this->assertTrue(!empty($account->uid), t('User created with name %name and pass %pass', array(
'%name' => $edit['name'],
'%pass' => $edit['pass'],
)), t('User login'));
if (empty($account->uid)) {
return FALSE;
}
// Add the raw password so that we can log in as this user.
$account->pass_raw = $edit['pass'];
return $account;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.