protected function UserCreateTestCase::testUserAdd in Drupal 7
Create a user through the administration interface and ensure that it displays in the user list.
File
- modules/
user/ user.test, line 2097 - Tests for user.module.
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');
}