AnonymousLoginSettingsFormTest.php in Anonymous login 8
File
tests/src/Functional/AnonymousLoginSettingsFormTest.php
View source
<?php
namespace Drupal\Tests\anonymous_login\Functional;
use Drupal\Tests\BrowserTestBase;
class AnonymousLoginSettingsFormTest extends BrowserTestBase {
public static $modules = [
'anonymous_login',
'node',
];
protected $moduleConfig;
protected function setUp() {
parent::setUp();
$this->moduleConfig = $this
->config('anonymous_login.settings');
}
public function testForm() {
$this
->drupalGet('admin/config/user-interface/anonymous-login');
$this
->assertSession()
->statusCodeEquals(403);
$this
->drupalLogin($this
->drupalCreateUser([
'administer anonymous login settings',
]));
$this
->drupalGet('admin/config/user-interface/anonymous-login_wrong');
$this
->assertSession()
->statusCodeEquals(404);
$this
->drupalGet('admin/config/user-interface/anonymous-login');
$this
->assertSession()
->statusCodeEquals(200);
$edit = [
'paths' => '*' . PHP_EOL . '~/user/register',
'login_path' => '/some-wrong-login-path',
'message' => 'Test login message.',
];
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertSession()
->pageTextContains('Login page path is invalid. Check it please.');
$this
->createContentType([
'type' => 'node_test',
]);
\Drupal::entityTypeManager()
->getStorage('node')
->create([
'type' => 'node_test',
'title' => $this
->randomString(),
])
->save();
$edit['login_path'] = '/node/1';
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertSession()
->pageTextContains('The configuration options have been saved.');
$this
->drupalGet('admin/config/user-interface/anonymous-login');
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertSession()
->fieldValueEquals('paths', '*' . PHP_EOL . '~/user/register');
$this
->assertSession()
->fieldValueEquals('login_path', '/node/1');
$this
->assertSession()
->fieldValueEquals('message', 'Test login message.');
}
}