RealnameBasicTest.php in Real Name 2.x
File
tests/src/Functional/RealnameBasicTest.php
View source
<?php
namespace Drupal\Tests\realname\Functional;
use Drupal\Tests\BrowserTestBase;
use Drupal\user\Entity\User;
class RealnameBasicTest extends BrowserTestBase {
protected $defaultTheme = 'stark';
protected $adminUser;
protected static $modules = [
'realname',
'field_ui',
];
protected function setUp() {
parent::setUp();
$permissions = [
'access administration pages',
'administer modules',
'administer realname',
'administer site configuration',
'administer user fields',
'administer user form display',
'administer user display',
'administer users',
];
$this->adminUser = $this
->drupalCreateUser($permissions);
$this
->drupalLogin($this->adminUser);
}
public function testRealnameConfiguration() {
$assert_session = $this
->assertSession();
$this
->drupalGet('admin/modules');
$assert_session
->responseContains('admin/config/people/realname');
$this
->drupalGet('admin/config/people/realname');
$assert_session
->pageTextContains(t('Realname pattern'));
$edit['realname_pattern'] = '[user:account-name]';
$this
->drupalGet('admin/config/people/realname');
$this
->submitForm($edit, 'Save configuration');
$this
->drupalGet('admin/config/people/realname');
$this
->submitForm($edit, 'Save configuration');
$assert_session
->pageTextContains(t('The configuration options have been saved.'));
$edit['realname_pattern'] = '[user:name]';
$this
->drupalGet('admin/config/people/realname');
$this
->submitForm($edit, 'Save configuration');
$assert_session
->pageTextContains(t('The [user:name] token cannot be used as it will cause recursion.'));
}
public function testRealnameUsernameAlter() {
$assert_session = $this
->assertSession();
$edit['realname_pattern'] = '[user:account-name] (UID: [user:uid])';
$this
->drupalGet('admin/config/people/realname');
$this
->submitForm($edit, 'Save configuration');
$this
->drupalGet('user/' . $this->adminUser
->id());
$assert_session
->pageTextContains($this->adminUser
->getDisplayName());
$this
->drupalGet('user/' . $this->adminUser
->id() . '/edit');
$assert_session
->pageTextContains($this->adminUser
->getDisplayName());
$user_account = $this->adminUser;
$username_before = $user_account
->getAccountName();
$user_account
->save();
$username_after = $user_account
->getAccountName();
$this
->assertEquals($username_after, $username_before, 'Username did not change after save');
}
public function testRealnameManageDisplay() {
$assert_session = $this
->assertSession();
$edit['realname_pattern'] = '[user:account-name]';
$this
->drupalGet('admin/config/people/realname');
$this
->submitForm($edit, 'Save configuration');
$this
->drupalGet('admin/config/people/accounts/fields');
$assert_session
->titleEquals('Manage fields | Drupal');
$assert_session
->pageTextNotContains('Real name');
$this
->drupalGet('admin/config/people/accounts/form-display');
$this
->assertSession()
->titleEquals('Manage form display | Drupal');
$assert_session
->pageTextNotContains('Real name');
$this
->drupalGet('admin/config/people/accounts/display');
$this
->assertSession()
->titleEquals('Manage display | Drupal');
$assert_session
->pageTextContains('Real name');
$this
->drupalGet('user/' . $this->adminUser
->id());
$assert_session
->pageTextNotContains('Real name');
$this
->drupalGet('admin/config/people/accounts/display');
$edit = [
'fields[realname][region]' => 'content',
];
$this
->submitForm($edit, 'Save');
$assert_session
->statusCodeEquals(200);
$this
->drupalGet('user/' . $this->adminUser
->id());
$assert_session
->pageTextContains('Real name');
}
public function testRealnameUserUpdate() {
$edit['realname_pattern'] = '[user:account-name]';
$this
->drupalGet('admin/config/people/realname');
$this
->submitForm($edit, 'Save configuration');
$user1 = User::load($this->adminUser
->id());
$realname1 = $user1->realname;
$user1->name = $this
->randomMachineName();
$user1
->save();
$user2 = User::load($this->adminUser
->id());
$realname2 = $user2->realname;
$this
->assertNotEmpty($realname1);
$this
->assertNotEmpty($realname2);
$this
->assertNotEquals($realname1, $realname2, '[testRealnameUserUpdate]: Real name changed.');
}
}