Skip to content
Snippets Groups Projects
Verified Commit 6c1fc7e4 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3439922 by amateescu, vensires: Fix Workspaces tests that rely on UID1's super user behavior

parent ce1fa38b
No related branches found
No related tags found
No related merge requests found
...@@ -32,14 +32,6 @@ class PathWorkspacesTest extends BrowserTestBase { ...@@ -32,14 +32,6 @@ class PathWorkspacesTest extends BrowserTestBase {
'workspaces', '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} * {@inheritdoc}
*/ */
...@@ -60,7 +52,17 @@ protected function setUp(): void { ...@@ -60,7 +52,17 @@ protected function setUp(): void {
'type' => 'article', '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. // Enable URL language detection and selection.
$edit = ['language_interface[enabled][language-url]' => 1]; $edit = ['language_interface[enabled][language-url]' => 1];
......
...@@ -35,14 +35,6 @@ class WorkspaceTest extends BrowserTestBase { ...@@ -35,14 +35,6 @@ class WorkspaceTest extends BrowserTestBase {
'workspaces', '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} * {@inheritdoc}
*/ */
...@@ -178,15 +170,20 @@ public function testWorkspaceFormRevisions() { ...@@ -178,15 +170,20 @@ public function testWorkspaceFormRevisions() {
/** /**
* Tests the manage workspace page. * Tests the manage workspace page.
*
* @group failing
*/ */
public function testWorkspaceManagePage() { 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(); $this->setupWorkspaceSwitcherBlock();
$assert_session = $this->assertSession(); $assert_session = $this->assertSession();
$this->drupalCreateContentType(['type' => 'test', 'label' => 'Test']);
$vocabulary = $this->createVocabulary(); $vocabulary = $this->createVocabulary();
$test_1 = $this->createWorkspaceThroughUi('Test 1', 'test_1'); $test_1 = $this->createWorkspaceThroughUi('Test 1', 'test_1');
...@@ -258,7 +255,12 @@ public function testDeleteWorkspaceWithExistingContent() { ...@@ -258,7 +255,12 @@ public function testDeleteWorkspaceWithExistingContent() {
$this->createContentType(['type' => 'test', 'label' => 'Test']); $this->createContentType(['type' => 'test', 'label' => 'Test']);
// Login and create a workspace. // 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'); $this->createAndActivateWorkspaceThroughUi('May 4', 'may_4');
// Create a node in the workspace. // Create a node in the workspace.
...@@ -323,7 +325,11 @@ public function testWorkspaceList() { ...@@ -323,7 +325,11 @@ public function testWorkspaceList() {
*/ */
public function testPublishWorkspace() { public function testPublishWorkspace() {
$this->createContentType(['type' => 'test', 'label' => 'Test']); $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->drupalGet('/admin/config/workflow/workspaces/add');
$this->submitForm([ $this->submitForm([
...@@ -340,7 +346,7 @@ public function testPublishWorkspace() { ...@@ -340,7 +346,7 @@ public function testPublishWorkspace() {
$this->assertSession()->pageTextContains('There are no changes that can be published from Test workspace to Live.'); $this->assertSession()->pageTextContains('There are no changes that can be published from Test workspace to Live.');
// Create a node in the workspace. // 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->drupalGet('/admin/config/workflow/workspaces/manage/test_workspace/publish');
$this->assertSession()->statusCodeEquals(200); $this->assertSession()->statusCodeEquals(200);
......
...@@ -22,23 +22,27 @@ class WorkspacesUninstallTest extends BrowserTestBase { ...@@ -22,23 +22,27 @@ class WorkspacesUninstallTest extends BrowserTestBase {
/** /**
* {@inheritdoc} * {@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} * {@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. * Tests deleting workspace entities and uninstalling Workspaces module.
*/ */
public function testUninstallingWorkspace() { public function testUninstallingWorkspace() {
$this->createContentType(['type' => 'article']); $this->createContentType(['type' => 'article']);
$this->drupalLogin($this->rootUser);
$this->drupalGet('/admin/modules/uninstall'); $this->drupalGet('/admin/modules/uninstall');
$session = $this->assertSession(); $session = $this->assertSession();
$session->linkExists('Remove workspaces'); $session->linkExists('Remove workspaces');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment