function EntityUnitTestBase::createUser

Creates a user.

Parameters

array $values: (optional) The values used to create the entity.

array $permissions: (optional) Array of permission names to assign to user.

Return value

\Drupal\user\Entity\User The created user entity.

File

core/modules/system/src/Tests/Entity/EntityUnitTestBase.php, line 108

Class

EntityUnitTestBase
Defines an abstract test base for entity unit tests.

Namespace

Drupal\system\Tests\Entity

Code

protected function createUser($values = [], $permissions = []) {
  if ($permissions) {
    // Create a new role and apply permissions to it.
    $role = Role::create([
      'id' => strtolower($this->randomMachineName(8)),
      'label' => $this->randomMachineName(8),
    ]);
    $role->save();
    user_role_grant_permissions($role->id(), $permissions);
    $values['roles'][] = $role->id();
  }
  $account = User::create($values + [
    'name' => $this->randomMachineName(),
    'status' => 1,
  ]);
  $account->enforceIsNew();
  $account->save();
  return $account;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.