annotate core/modules/user/tests/src/Functional/UserEditedOwnAccountTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\user\Functional;
Chris@0 4
Chris@0 5 use Drupal\Tests\BrowserTestBase;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests user edited own account can still log in.
Chris@0 9 *
Chris@0 10 * @group user
Chris@0 11 */
Chris@0 12 class UserEditedOwnAccountTest extends BrowserTestBase {
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Modules to enable.
Chris@0 16 *
Chris@0 17 * @var array
Chris@0 18 */
Chris@0 19 public static $modules = ['user_form_test'];
Chris@0 20
Chris@0 21 public function testUserEditedOwnAccount() {
Chris@0 22 // Change account setting 'Who can register accounts?' to Administrators
Chris@0 23 // only.
Chris@0 24 $this->config('user.settings')->set('register', USER_REGISTER_ADMINISTRATORS_ONLY)->save();
Chris@0 25
Chris@0 26 // Create a new user account and log in.
Chris@0 27 $account = $this->drupalCreateUser(['change own username']);
Chris@0 28 $this->drupalLogin($account);
Chris@0 29
Chris@0 30 // Change own username.
Chris@0 31 $edit = [];
Chris@0 32 $edit['name'] = $this->randomMachineName();
Chris@0 33 $this->drupalPostForm('user/' . $account->id() . '/edit', $edit, t('Save'));
Chris@0 34
Chris@0 35 // Log out.
Chris@0 36 $this->drupalLogout();
Chris@0 37
Chris@0 38 // Set the new name on the user account and attempt to log back in.
Chris@0 39 $account->name = $edit['name'];
Chris@0 40 $this->drupalLogin($account);
Chris@0 41 }
Chris@0 42
Chris@0 43 }