Skip to content
Snippets Groups Projects
Commit c8b913d6 authored by Kurucz István's avatar Kurucz István
Browse files

Issue #3298837: Improve testing: add setRedirectConfig() method

parent 92babb22
Branches
Tags
No related merge requests found
......@@ -21,16 +21,15 @@ class SimpleLogoutTest extends TestBase {
*/
public function testLogoutWithoutToken() {
$message = $this->randomMachineName();
$config = $this->config('redirect_after_logout.settings');
$config->set('message', $message)->save();
$this->setRedirectConfig('', $message);
// not redirect authenticated user
$config->set('destination', $this->authenticated_user->toUrl()->toString())->save();
$this->setRedirectConfig($this->authenticated_user->toUrl()->toString());
$this->logoutNotRedirectHelper($this->authenticated_user, $this->authenticated_user->toUrl()->toString(), $message);
// redirect regular user
$config->set('destination', $this->regular_user->toUrl()->toString())->save();
$this->setRedirectConfig($this->regular_user->toUrl()->toString());
$this->logoutRedirectHelper($this->regular_user, $this->regular_user->toUrl()->toString(), $message);
// redirect regular user to external website
$config->set('destination', 'http://example.com/')->save();
$this->setRedirectConfig('http://example.com/');
$this->logoutRedirectHelper($this->regular_user, 'http://example.com/', '', FALSE);
}
}
......@@ -128,4 +128,25 @@ abstract class TestBase extends BrowserTestBase {
->pageTextNotContains($message);
}
}
/**
* Set redirect configuration, without settings form.
*
* @param string $destination
* Redirect path.
* @param $message
* Redirect message.
*
* @return void
*/
protected function setRedirectConfig($destination = '', $message = '') {
$config = $this->config('redirect_after_logout.settings');
if ($destination !== '') {
$config->set('destination', $destination);
}
if ($message !== '') {
$config->set('message', $message);
}
$config->save();
}
}
......@@ -32,9 +32,7 @@ class TokenLogoutTest extends TestBase {
$this->createPathAlias($node->toUrl()->toString(), '/node-alias-' . $this->regular_user->id());
// Set redirect configuration.
$message = $this->randomMachineName();
$config = $this->config('redirect_after_logout.settings');
$config->set('destination', '/node-alias-[current-user:uid]');
$config->set('message', $message)->save();
$this->setRedirectConfig('/node-alias-[current-user:uid]', $message);
// Test redirect.
$this->logoutRedirectHelper($this->regular_user, '/node-alias-' . $this->regular_user->id(), $message);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment