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.

330 calls to DrupalWebTestCase::drupalCreateUser()
AccessDeniedTestCase::setUp in modules/system/system.test
Sets up a Drupal site for running functional and integration tests.
ActionLoopTestCase::testActionLoop in modules/simpletest/tests/actions.test
Set up a loop with 3 - 12 recursions, and see if it aborts properly.
ActionsConfigurationTestCase::testActionConfiguration in modules/simpletest/tests/actions.test
Test the configuration of advanced actions through the administration interface.
AggregatorRenderingTestCase::testBlockLinks in modules/aggregator/aggregator.test
Adds a feed block to the page and checks its links.
AggregatorTestCase::setUp in modules/aggregator/aggregator.test
Sets up a Drupal site for running functional and integration tests.

... See full list

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.