diff --git a/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php b/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php index c8f09c54c71fa29b3b7f736498f9636ecbea973a..800d40af8a0aafe80556e9b46f917a17bc461b43 100644 --- a/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php +++ b/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php @@ -32,14 +32,6 @@ class PathWorkspacesTest extends BrowserTestBase { 'workspaces', ]; - /** - * {@inheritdoc} - * - * @todo Remove and fix test to not rely on super user. - * @see https://www.drupal.org/project/drupal/issues/3437620 - */ - protected bool $usesSuperUserAccessPolicy = TRUE; - /** * {@inheritdoc} */ @@ -60,7 +52,17 @@ protected function setUp(): void { 'type' => 'article', ]); - $this->drupalLogin($this->rootUser); + $permissions = [ + 'administer languages', + 'administer nodes', + 'administer url aliases', + 'administer workspaces', + 'create article content', + 'create content translations', + 'edit any article content', + 'translate any entity', + ]; + $this->drupalLogin($this->drupalCreateUser($permissions)); // Enable URL language detection and selection. $edit = ['language_interface[enabled][language-url]' => 1]; diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php index f8767de56adc50cd9104ab540b0b8b74d88e4022..a4c492c6f722f9857348269afef4123171f94dcd 100644 --- a/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php +++ b/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php @@ -35,14 +35,6 @@ class WorkspaceTest extends BrowserTestBase { 'workspaces', ]; - /** - * {@inheritdoc} - * - * @todo Remove and fix test to not rely on super user. - * @see https://www.drupal.org/project/drupal/issues/3437620 - */ - protected bool $usesSuperUserAccessPolicy = TRUE; - /** * {@inheritdoc} */ @@ -178,15 +170,20 @@ public function testWorkspaceFormRevisions() { /** * Tests the manage workspace page. - * - * @group failing */ public function testWorkspaceManagePage() { - $this->drupalLogin($this->rootUser); + $this->drupalCreateContentType(['type' => 'test', 'label' => 'Test']); + + $permissions = [ + 'administer taxonomy', + 'administer workspaces', + 'create test content', + 'delete any test content', + ]; + $this->drupalLogin($this->drupalCreateUser($permissions)); $this->setupWorkspaceSwitcherBlock(); $assert_session = $this->assertSession(); - $this->drupalCreateContentType(['type' => 'test', 'label' => 'Test']); $vocabulary = $this->createVocabulary(); $test_1 = $this->createWorkspaceThroughUi('Test 1', 'test_1'); @@ -258,7 +255,12 @@ public function testDeleteWorkspaceWithExistingContent() { $this->createContentType(['type' => 'test', 'label' => 'Test']); // Login and create a workspace. - $this->drupalLogin($this->rootUser); + $permissions = [ + 'administer workspaces', + 'create test content', + 'delete any test content', + ]; + $this->drupalLogin($this->drupalCreateUser($permissions)); $this->createAndActivateWorkspaceThroughUi('May 4', 'may_4'); // Create a node in the workspace. @@ -323,7 +325,11 @@ public function testWorkspaceList() { */ public function testPublishWorkspace() { $this->createContentType(['type' => 'test', 'label' => 'Test']); - $this->drupalLogin($this->rootUser); + $permissions = [ + 'administer workspaces', + 'create test content', + ]; + $this->drupalLogin($this->drupalCreateUser($permissions)); $this->drupalGet('/admin/config/workflow/workspaces/add'); $this->submitForm([ @@ -340,7 +346,7 @@ public function testPublishWorkspace() { $this->assertSession()->pageTextContains('There are no changes that can be published from Test workspace to Live.'); // Create a node in the workspace. - $node = $this->createNodeThroughUi('Test node', 'test'); + $this->createNodeThroughUi('Test node', 'test'); $this->drupalGet('/admin/config/workflow/workspaces/manage/test_workspace/publish'); $this->assertSession()->statusCodeEquals(200); diff --git a/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php b/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php index 36e0039ebde3680ec99c4664b984e4d57fd1c89a..3d7c35731992b47f68c42db67396fb7bcd09dfd8 100644 --- a/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php +++ b/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php @@ -22,23 +22,27 @@ class WorkspacesUninstallTest extends BrowserTestBase { /** * {@inheritdoc} - * - * @todo Remove and fix test to not rely on super user. - * @see https://www.drupal.org/project/drupal/issues/3437620 */ - protected bool $usesSuperUserAccessPolicy = TRUE; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} */ - protected $defaultTheme = 'stark'; + protected function setUp(): void { + parent::setUp(); + $permissions = [ + 'administer workspaces', + 'administer modules', + ]; + + $this->drupalLogin($this->drupalCreateUser($permissions)); + } /** * Tests deleting workspace entities and uninstalling Workspaces module. */ public function testUninstallingWorkspace() { $this->createContentType(['type' => 'article']); - $this->drupalLogin($this->rootUser); $this->drupalGet('/admin/modules/uninstall'); $session = $this->assertSession(); $session->linkExists('Remove workspaces');