diff --git a/src/Tests/SchedulerScheduledContentListAccessTest.php b/src/Tests/SchedulerScheduledContentListAccessTest.php
new file mode 100644
index 0000000..5ce4089
--- /dev/null
+++ b/src/Tests/SchedulerScheduledContentListAccessTest.php
@@ -0,0 +1,110 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\scheduler\Tests\SchedulerScheduledContentListAccessTest.
+ */
+
+namespace Drupal\scheduler\Tests;
+
+/**
+ * @group scheduler
+ */
+class SchedulerScheduledContentListAccessTest extends SchedulerTestBase {
+
+  public static $modules = ['node', 'scheduler', 'views'];
+
+  public function setUp() {
+    parent::setUp();
+
+    $type = $this->nodetype->get('type');
+    $base_permissions = [
+      'access content',
+      'administer nodes',
+      'create ' . $type . ' content',
+      'edit own ' . $type . ' content',
+      'delete own ' . $type . ' content',
+      'view own unpublished content',
+    ];
+
+    $this->editorUser = $this->drupalCreateUser(array_merge($base_permissions, ['access content overview'])); // Editor.
+    $this->schedulerUser = $this->drupalCreateUser(array_merge($base_permissions, ['schedule publishing of nodes'])); // Scheduler user
+    $this->schedulerManager = $this->drupalCreateUser(array_merge($base_permissions, ['view scheduled content'])); // Scheduler manager (removed 'schedule publishing of nodes')
+
+    // Create nodes scheduled for publishing and for unpublishing.
+    $this->node1 = $this->drupalCreateNode(['title' => 'Node created by Scheduler User for publishing', 'uid' => $this->schedulerUser->id(), 'status' => FALSE, 'type' => $type, 'publish_on' => strtotime('+1 week')]);
+    $this->node2 = $this->drupalCreateNode(['title' => 'Node created by Scheduler User for unpublishing', 'uid' => $this->schedulerUser->id(), 'status' => TRUE, 'type' => $type, 'unpublish_on' => strtotime('+1 week')]);
+    $this->node3 = $this->drupalCreateNode(['title' => 'Node created by Scheduler Manager for publishing', 'uid' => $this->schedulerManager->id(), 'status' => FALSE, 'type' => $type, 'publish_on' => strtotime('+1 week')]);
+    $this->node4 = $this->drupalCreateNode(['title' => 'Node created by Scheduler Manager for unpublishing', 'uid' => $this->schedulerManager->id(), 'status' => TRUE, 'type' => $type, 'unpublish_on' => strtotime('+1 week')]);
+  }
+
+  /**
+   * Tests the scheduled content tab on the user page.
+   */
+  public function testViewScheduledContentUser() {
+    // Access a scheduled content user tab as an anonymous visitor.
+    $this->drupalGet("user/{$this->schedulerUser->id()}/scheduled");
+    $this->assertResponse(403, 'An anonymous visitor cannot access a user\'s scheduled content tab.');
+
+    // Access a users own scheduled content tab as "Editor" without any
+    // scheduler permissions.
+    $this->drupalLogin($this->editorUser);
+    $this->drupalGet("user/{$this->editorUser->id()}/scheduled");
+    $this->assertResponse(403, '"Editor" cannot access a scheduled content user tab.'); // existing code fail. pass with patch.
+
+    // Access a users own scheduled content tab as "Scheduler User" with only
+    // 'schedule publishing of nodes' permission.
+    $this->drupalLogin($this->schedulerUser);
+    $this->drupalGet("user/{$this->schedulerUser->id()}/scheduled");
+    $this->assertResponse(200, '"Scheduler User" can access their scheduled content user tab.'); // existing fail. pass with patch.
+    $this->assertText('Node created by Scheduler User for publishing'); // existing fail. pass with patch.
+    $this->assertText('Node created by Scheduler User for unpublishing'); // existing fail.  pass with patch.
+    $this->assertNoText('Node created by Scheduler Manager for unpublishing'); 
+
+    // Access a users own scheduled content tab as "Scheduler Manager" with only
+    // 'view scheduled content' permission.
+    $this->drupalLogin($this->schedulerManager);
+    $this->drupalGet("user/{$this->schedulerManager->id()}/scheduled");
+    $this->assertResponse(200, 'Scheduler Manager can access their scheduled content user tab.'); // existing fail. pass with patch.
+    $this->assertText('Node created by Scheduler Manager for publishing'); // existing fail. pass with patch.
+    $this->assertText('Node created by Scheduler Manager for unpublishing'); // existing fail. pass with patch.
+    $this->assertNoText('Node created by Scheduler User for unpublishing');
+
+    // Access another users scheduled content tab as "Scheduler Manager"
+    $this->drupalGet("user/{$this->schedulerUser->id()}/scheduled");
+    $this->assertResponse(403, '"Scheduler Manager" cannot access the scheduled content user tab for "Scheduler User"'); // was existing fail when checking for 200, fixed by patch. Now existing pass checking for 403. Not fixed by patch.
+
+  }
+
+  /**
+   * Tests the scheduled content overview.
+   */
+  public function testViewScheduledContentOverview() {
+    // Access the scheduled content overview as anonymous visitor.
+    $this->drupalGet("admin/content/scheduled");
+    $this->assertResponse(403, 'An anonymous visitor cannot access the scheduled content overview.');
+
+    // Access the scheduled content overview as "Editor" without any
+    // scheduler permissions.
+    $this->drupalLogin($this->editorUser);
+    $this->drupalGet('admin/content/scheduled');
+    $this->assertResponse(403, '"Editor" cannot access the scheduled content overview.');  // existing code fail. fixed by patch. 
+
+    // Access the scheduled content overview as "Scheduler User" with only
+    // 'schedule publishing of nodes' permission.
+    $this->drupalLogin($this->schedulerUser);
+    $this->drupalGet('admin/content/scheduled');
+    $this->assertResponse(403, '"Scheduler User" cannot access the scheduled content overview.'); // Existing code pass. Now fails with patch.
+
+    // Cccess the scheduled content overview as "Scheduler Manager" with only
+    // 'view scheduled content' permission.
+    $this->drupalLogin($this->schedulerManager);
+    $this->drupalGet('admin/content/scheduled');
+    $this->assertResponse(200, 'Scheduler Manager can access the scheduled content overview.'); // existing fail.
+    $this->assertText('Node created by Scheduler User for publishing'); // existing fail. Not fixed by patch - still fails. Remove 'extra status' filtering in View?
+    $this->assertText('Node created by Scheduler User for unpublishing'); // existing fail. Pass with patch.
+    $this->assertText('Node created by Scheduler Manager for publishing'); // existing fail. Pass with patch.
+    $this->assertText('Node created by Scheduler Manager for unpublishing'); // existing fail. Pass with patch.
+  }
+
+}
\ No newline at end of file
