diff --git a/core/tests/Drupal/FunctionalJavascriptTests/Core/Session/SessionTest.php b/core/tests/Drupal/FunctionalJavascriptTests/Core/Session/SessionTest.php
new file mode 100644
index 0000000..897ba6d
--- /dev/null
+++ b/core/tests/Drupal/FunctionalJavascriptTests/Core/Session/SessionTest.php
@@ -0,0 +1,90 @@
+<?php
+
+namespace Drupal\FunctionalJavascript\Core\Session;
+
+use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\user\Entity\Role;
+use Drupal\user\Entity\User;
+
+/**
+ * Tests that sessions don't expire.
+ *
+ * @group session
+ */
+class SessionTest extends JavascriptTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['user', 'views', 'node'];
+
+  /**
+   * @var User
+   * The current logged in user.
+   */
+  protected $user;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $permissions = [
+      'administer site configuration',
+      'access administration pages',
+      'access content overview',
+    ];
+    /** @var Role $role */
+    $role = Role::load('anonymous');
+    foreach ($permissions as $perm) {
+      $role->grantPermission($perm);
+    }
+    $role->save();
+  }
+
+  /**
+   * Tests that the session doesn't expire.
+   */
+  public function testSessionExpiration() {
+    // Visit the admin page and click on Title sort 15 times.
+    $this->drupalGet('admin/content');
+
+    $session_assert = $this->assertSession();
+
+    $page = $this->getSession()->getPage();
+
+    for ($i = 0; $i < 15; $i++) {
+      // Before each ajax we need to prepare the request.
+      $this->prepareRequest();
+      $page->clickLink('sort by Title');
+      $session_assert->assertWaitOnAjaxRequest();
+      $session_assert->statusCodeEquals(200);
+    }
+  }
+
+  /**
+   * Tests that the session doesn't expire.
+   */
+  public function testSessionExpirationWithLogin() {
+    // Visit the admin page and click on title sort 15 times but login again
+    // after every 4 clicks.
+    $this->drupalGet('admin/content');
+
+    $session_assert = $this->assertSession();
+
+    $page = $this->getSession()->getPage();
+
+    for ($i = 0; $i < 15; $i++) {
+      if ($i % 4 == 0) {
+        $this->drupalLogin($this->user);
+        $this->drupalGet('admin/content');
+      }
+      $page->clickLink('sort by Title');
+      $session_assert->assertWaitOnAjaxRequest();
+      $session_assert->statusCodeEquals(200);
+    }
+  }
+
+}
