protected function UserCreateTestCase::testUserAdd

7.x user.test protected UserCreateTestCase::testUserAdd()

Create a user through the administration interface and ensure that it displays in the user list.

File

drupal-7.x/modules/user/user.test, line 1747
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');
  }
}