From 554f305ce54b74e33349ed5bdb36ae3faa51d05c Mon Sep 17 00:00:00 2001 From: nod_ <nod_@598310.no-reply.drupal.org> Date: Sun, 28 Jul 2024 03:02:17 +0200 Subject: [PATCH] Issue #3439835 by pooja_sharma, thebumik, FeyP, smustgrave, vensires: Fix Field UI tests that rely on UID1's super user behavior (cherry picked from commit 139bf7296809d1aea05d8ccdfff7979197ba29ad) --- .../EntityReference/EntityReferenceXSSTest.php | 12 +++--------- .../Functional/FieldDefaultValueCallbackTest.php | 14 ++++---------- .../tests/src/Functional/FieldUIRouteTest.php | 16 +++++++--------- 3 files changed, 14 insertions(+), 28 deletions(-) diff --git a/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php index 5bb52d6206f1..8503a3e52cdb 100644 --- a/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php +++ b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php @@ -25,14 +25,6 @@ class EntityReferenceXSSTest extends BrowserTestBase { */ protected static $modules = ['node']; - /** - * {@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} */ @@ -68,7 +60,9 @@ public function testEntityReferenceXSS(): void { ->save(); // Create a node and reference the node with markup in the title. - $this->drupalLogin($this->rootUser); + $this->drupalLogin($this->drupalCreateUser([ + 'create article content', + ])); $this->drupalGet('node/add/article'); $this->assertSession()->assertEscaped($referenced_node->getTitle()); $this->assertSession()->assertEscaped($node_type_two->label()); diff --git a/core/modules/field/tests/src/Functional/FieldDefaultValueCallbackTest.php b/core/modules/field/tests/src/Functional/FieldDefaultValueCallbackTest.php index f9405facbc69..c1be67840f96 100644 --- a/core/modules/field/tests/src/Functional/FieldDefaultValueCallbackTest.php +++ b/core/modules/field/tests/src/Functional/FieldDefaultValueCallbackTest.php @@ -22,14 +22,6 @@ class FieldDefaultValueCallbackTest extends BrowserTestBase { */ protected static $modules = ['node', 'field_test', 'field_ui']; - /** - * {@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} */ @@ -58,6 +50,10 @@ protected function setUp(): void { ]); } + $this->drupalLogin($this->drupalCreateUser([ + 'administer node fields', + ])); + } public function testDefaultValueCallbackForm(): void { @@ -76,8 +72,6 @@ public function testDefaultValueCallbackForm(): void { ]); $field_config->save(); - $this->drupalLogin($this->rootUser); - // Check that the default field form is visible when no callback is set. $this->drupalGet('/admin/structure/types/manage/article/fields/node.article.field_test'); $this->assertSession()->fieldValueEquals('default_value_input[field_test][0][value]', ''); diff --git a/core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php b/core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php index a720046ad331..3bbd99518ad6 100644 --- a/core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php +++ b/core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php @@ -22,14 +22,6 @@ class FieldUIRouteTest extends BrowserTestBase { */ protected static $modules = ['block', 'entity_test', 'field_ui']; - /** - * {@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} */ @@ -41,7 +33,6 @@ class FieldUIRouteTest extends BrowserTestBase { protected function setUp(): void { parent::setUp(); - $this->drupalLogin($this->rootUser); $this->drupalPlaceBlock('local_tasks_block'); } @@ -49,6 +40,13 @@ protected function setUp(): void { * Ensures that entity types with bundles do not break following entity types. */ public function testFieldUIRoutes(): void { + $this->drupalLogin($this->drupalCreateUser([ + 'administer account settings', + 'administer entity_test_no_id fields', + 'administer user fields', + 'administer user form display', + 'administer user display', + ])); $this->drupalGet('entity_test_no_id/structure/entity_test/fields'); $this->assertSession()->pageTextContains('No fields are present yet.'); -- GitLab