File

modules/user/user.test, line 136
Tests for user.module.

Class

UserRegistrationTestCase
@file Tests for user.module.

Code

function testRegistrationDefaultValues() {

  // Allow registration by site visitors without administrator approval.
  variable_set('user_register', USER_REGISTER_VISITORS);

  // Don't require e-mail verification.
  variable_set('user_email_verification', FALSE);

  // Set the default timezone to Brussels.
  variable_set('configurable_timezones', 1);
  variable_set('date_default_timezone', 'Europe/Brussels');
  $this
    ->drupalGet('user/register');
  $edit = array();
  $edit['name'] = $name = $this
    ->randomName();
  $edit['mail'] = $mail = $edit['name'] . '@example.com';
  $edit['pass[pass1]'] = $new_pass = $this
    ->randomName();
  $edit['pass[pass2]'] = $new_pass;
  $this
    ->drupalPost(NULL, $edit, t('Create new account'));

  // Check user fields.
  $accounts = user_load_multiple(array(), array(
    'name' => $name,
    'mail' => $mail,
  ));
  $new_user = reset($accounts);
  $this
    ->assertEqual($new_user->name, $name, 'Username matches.');
  $this
    ->assertEqual($new_user->mail, $mail, 'E-mail address matches.');
  $this
    ->assertEqual($new_user->theme, '', 'Correct theme field.');
  $this
    ->assertEqual($new_user->signature, '', 'Correct signature field.');
  $this
    ->assertTrue($new_user->created > REQUEST_TIME - 20, 'Correct creation time.');
  $this
    ->assertEqual($new_user->changed, $new_user->created, 'Correct changed time.');
  $this
    ->assertEqual($new_user->status, variable_get('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL) == USER_REGISTER_VISITORS ? 1 : 0, 'Correct status field.');
  $this
    ->assertEqual($new_user->timezone, variable_get('date_default_timezone'), 'Correct time zone field.');
  $this
    ->assertEqual($new_user->language, '', 'Correct language field.');
  $this
    ->assertEqual($new_user->picture, '', 'Correct picture field.');
  $this
    ->assertEqual($new_user->init, $mail, 'Correct init field.');
}