diff core/modules/simpletest/tests/src/Functional/UserHelpersTest.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/simpletest/tests/src/Functional/UserHelpersTest.php	Thu Jul 05 14:24:15 2018 +0000
@@ -0,0 +1,52 @@
+<?php
+
+namespace Drupal\Tests\simpletest\Functional;
+
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Tests User related helper methods of WebTestBase.
+ *
+ * @group simpletest
+ */
+class UserHelpersTest extends BrowserTestBase {
+
+  /**
+   * Tests WebTestBase::drupalUserIsLoggedIn().
+   */
+  public function testDrupalUserIsLoggedIn() {
+    $first_user = $this->drupalCreateUser();
+    $second_user = $this->drupalCreateUser();
+
+    // After logging in, the first user should be logged in, the second not.
+    $this->drupalLogin($first_user);
+    $this->assertTrue($this->drupalUserIsLoggedIn($first_user));
+    $this->assertFalse($this->drupalUserIsLoggedIn($second_user));
+
+    // Verify that logged in state is retained across pages.
+    $this->drupalGet('');
+    $this->assertTrue($this->drupalUserIsLoggedIn($first_user));
+    $this->assertFalse($this->drupalUserIsLoggedIn($second_user));
+
+    // After logging out, both users should be logged out.
+    $this->drupalLogout();
+    $this->assertFalse($this->drupalUserIsLoggedIn($first_user));
+    $this->assertFalse($this->drupalUserIsLoggedIn($second_user));
+
+    // After logging back in, the second user should still be logged out.
+    $this->drupalLogin($first_user);
+    $this->assertTrue($this->drupalUserIsLoggedIn($first_user));
+    $this->assertFalse($this->drupalUserIsLoggedIn($second_user));
+
+    // After logging in the second user, the first one should be logged out.
+    $this->drupalLogin($second_user);
+    $this->assertTrue($this->drupalUserIsLoggedIn($second_user));
+    $this->assertFalse($this->drupalUserIsLoggedIn($first_user));
+
+    // After logging out, both should be logged out.
+    $this->drupalLogout();
+    $this->assertFalse($this->drupalUserIsLoggedIn($first_user));
+    $this->assertFalse($this->drupalUserIsLoggedIn($second_user));
+  }
+
+}