function UserRegistrationTest::testRegistrationEmailDuplicates

File

drupal/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php, line 126
Definition of Drupal\user\Tests\UserRegistrationTest.

Class

UserRegistrationTest

Namespace

Drupal\user\Tests

Code

function testRegistrationEmailDuplicates() {

  // Don't require e-mail verification and allow registration by site visitors
  // without administrator approval.
  config('user.settings')
    ->set('verify_mail', FALSE)
    ->set('register', USER_REGISTER_VISITORS)
    ->save();

  // Set up a user to check for duplicates.
  $duplicate_user = $this
    ->drupalCreateUser();
  $edit = array();
  $edit['name'] = $this
    ->randomName();
  $edit['mail'] = $duplicate_user->mail;

  // Attempt to create a new account using an existing e-mail address.
  $this
    ->drupalPost('user/register', $edit, t('Create new account'));
  $this
    ->assertText(t('The e-mail address @email is already registered.', array(
    '@email' => $duplicate_user->mail,
  )), 'Supplying an exact duplicate email address displays an error message');

  // Attempt to bypass duplicate email registration validation by adding spaces.
  $edit['mail'] = '   ' . $duplicate_user->mail . '   ';
  $this
    ->drupalPost('user/register', $edit, t('Create new account'));
  $this
    ->assertText(t('The e-mail address @email is already registered.', array(
    '@email' => $duplicate_user->mail,
  )), 'Supplying a duplicate email address with added whitespace displays an error message');
}