function UserCreateTestCase::testUserAdd
Create a user through the administration interface and ensure that it displays in the user list.
File
-
modules/
user/ user.test, line 2138
Class
- UserCreateTestCase
- Test the create user administration page.
Code
protected function testUserAdd() {
$user = $this->drupalCreateUser(array(
'administer users',
));
$this->drupalLogin($user);
foreach (array(
FALSE,
TRUE,
) as $notify) {
$edit = array(
'name' => $this->randomName(),
'mail' => $this->randomName() . '@example.com',
'pass[pass1]' => $pass = $this->randomString(),
'pass[pass2]' => $pass,
'notify' => $notify,
);
$this->drupalPost('admin/people/create', $edit, t('Create new account'));
if ($notify) {
$this->assertText(t('A welcome message with further instructions has been e-mailed to the new user @name.', array(
'@name' => $edit['name'],
)), 'User created');
$this->assertEqual(count($this->drupalGetMails()), 1, 'Notification e-mail sent');
}
else {
$this->assertText(t('Created a new user account for @name. No e-mail has been sent.', array(
'@name' => $edit['name'],
)), 'User created');
$this->assertEqual(count($this->drupalGetMails()), 0, 'Notification e-mail not sent');
}
$this->drupalGet('admin/people');
$this->assertText($edit['name'], 'User found in list of users');
}
// Test that the password '0' is considered a password.
$name = $this->randomName();
$edit = array(
'name' => $name,
'mail' => $name . '@example.com',
'pass[pass1]' => 0,
'pass[pass2]' => 0,
'notify' => FALSE,
);
$this->drupalPost('admin/people/create', $edit, t('Create new account'));
$this->assertText(t('Created a new user account for @name. No e-mail has been sent.', array(
'@name' => $edit['name'],
)), 'User created with password 0');
$this->assertNoText('Password field is required');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.