function UserCreationTrait::createUser
Same name and namespace in other branches
- 11.x core/modules/user/tests/src/Traits/UserCreationTrait.php \Drupal\Tests\user\Traits\UserCreationTrait::createUser()
- 10 core/modules/user/tests/src/Traits/UserCreationTrait.php \Drupal\Tests\user\Traits\UserCreationTrait::createUser()
- 9 core/modules/user/tests/src/Traits/UserCreationTrait.php \Drupal\Tests\user\Traits\UserCreationTrait::createUser()
- 8.9.x core/modules/user/tests/src/Traits/UserCreationTrait.php \Drupal\Tests\user\Traits\UserCreationTrait::createUser()
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.
string $name: The user name.
bool $admin: (optional) Whether the user should be an administrator with all the available permissions.
array $values: (optional) An array of initial user field values.
Return value
\Drupal\user\UserInterface A fully loaded user object with pass_raw property.
Throws
\Drupal\Core\Entity\EntityStorageException If the user creation fails.
737 calls to UserCreationTrait::createUser()
- AccessAnnouncementTest::testAnnounceFirstLogin in core/
modules/ announcements_feed/ tests/ src/ FunctionalJavascript/ AccessAnnouncementTest.php - Test of viewing announcements by a user with appropriate permission.
- AccessAnnouncementTest::testAnnounceWithoutPermission in core/
modules/ announcements_feed/ tests/ src/ FunctionalJavascript/ AccessAnnouncementTest.php - Testing announce icon without announce permission.
- AccessTest::setUp in core/
modules/ views/ tests/ src/ Functional/ Plugin/ AccessTest.php - Sets up the test.
- AccessTest::testCreateAccess in core/
modules/ file/ tests/ src/ Kernel/ AccessTest.php - Tests create access is always denied even for user 1.
- AccessTest::testFileAccess in core/
modules/ file/ tests/ src/ Kernel/ AccessTest.php - Tests 'update' and 'delete' access to file entities.
1 method overrides UserCreationTrait::createUser()
- WorkspacesMediaLibraryIntegrationTest::drupalCreateUser in core/
modules/ workspaces/ tests/ src/ FunctionalJavascript/ WorkspacesMediaLibraryIntegrationTest.php - Create a user with a given set of permissions.
File
-
core/
modules/ user/ tests/ src/ Traits/ UserCreationTrait.php, line 152
Class
- UserCreationTrait
- Provides test methods for user creation and authentication.
Namespace
Drupal\Tests\user\TraitsCode
protected function createUser(array $permissions = [], $name = NULL, $admin = FALSE, array $values = []) : UserInterface {
$edit = $values;
if ($name) {
$edit['name'] = $name;
}
elseif (!isset($values['name'])) {
$edit['name'] = $this->randomMachineName();
}
$edit += [
'mail' => $edit['name'] . '@example.com',
'pass' => \Drupal::service('password_generator')->generate(),
'status' => 1,
];
if ($permissions) {
$edit['roles'] = [
$this->createRole($permissions),
];
}
if ($admin) {
$edit['roles'][] = $this->createAdminRole();
}
$account = User::create($edit);
$account->save();
$this->assertNotNull($account->id(), "User created with name {$edit['name']} and pass {$edit['pass']}");
// Add the raw password so that we can log in as this user.
$account->pass_raw = $edit['pass'];
// Support BrowserTestBase as well.
$account->passRaw = $account->pass_raw;
return $account;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.