From 5ce1a1b41b13aad9d5ea3e77be4219d09223b732 Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Mon, 26 Feb 2024 14:34:59 +0000
Subject: [PATCH] Issue #3417362 by kristiaanvandeneynde, smustgrave, quietone:
 Call refreshVariables() where needed in various tests

---
 .../tests/src/Functional/Rest/CommentResourceTestBase.php   | 3 +++
 .../media/tests/src/Functional/MediaOverviewPageTest.php    | 6 ++++++
 .../tests/src/Functional/Rest/MediaResourceTestBase.php     | 3 +++
 .../node/tests/src/Functional/Rest/NodeResourceTestBase.php | 3 +++
 4 files changed, 15 insertions(+)

diff --git a/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php b/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php
index ac1a1b7ffb6b..f404d0e49e60 100644
--- a/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php
+++ b/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php
@@ -359,6 +359,9 @@ public function testPostSkipCommentApproval() {
     $this->assertResourceResponse(201, FALSE, $response);
     $this->assertFalse($unserialized->isPublished());
 
+    // Make sure the role save below properly invalidates cache tags.
+    $this->refreshVariables();
+
     // Grant anonymous permission to skip comment approval.
     $this->grantPermissionsToTestedRole(['skip comment approval']);
 
diff --git a/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php b/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php
index 1f272ee23921..ac2bb016fa6a 100644
--- a/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php
+++ b/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php
@@ -86,6 +86,9 @@ public function testMediaOverviewPage() {
     ]);
     $media3->save();
 
+    // Make sure the role save below properly invalidates cache tags.
+    $this->refreshVariables();
+
     // Verify the view is now correctly populated. The non-admin user can only
     // view published media.
     $this->grantPermissions($role, [
@@ -138,6 +141,9 @@ public function testMediaOverviewPage() {
     $assert_session->elementExists('css', 'td.views-field-operations li a:contains("Delete")', $row1);
     $assert_session->linkByHrefExists('/media/' . $media1->id() . '/delete');
 
+    // Make sure the role save below properly invalidates cache tags.
+    $this->refreshVariables();
+
     // Make the user the owner of the unpublished media item and assert the
     // media item is only visible with the 'view own unpublished media'
     // permission.
diff --git a/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php b/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php
index f34844aedd6c..b0d5c2087753 100644
--- a/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php
+++ b/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php
@@ -375,6 +375,9 @@ protected function uploadFile() {
     static::recursiveKSort($actual);
     $this->assertSame($expected, $actual);
 
+    // Make sure the role save below properly invalidates cache tags.
+    $this->refreshVariables();
+
     // To still run the complete test coverage for POSTing a Media entity, we
     // must revoke the additional permissions that we granted.
     $role = Role::load(static::$auth ? RoleInterface::AUTHENTICATED_ID : RoleInterface::ANONYMOUS_ID);
diff --git a/core/modules/node/tests/src/Functional/Rest/NodeResourceTestBase.php b/core/modules/node/tests/src/Functional/Rest/NodeResourceTestBase.php
index 05ced94c98cd..8f780ed07b43 100644
--- a/core/modules/node/tests/src/Functional/Rest/NodeResourceTestBase.php
+++ b/core/modules/node/tests/src/Functional/Rest/NodeResourceTestBase.php
@@ -255,6 +255,9 @@ public function testPatchPath() {
     $this->assertSame('/llama', $this->entityStorage->loadUnchanged($this->entity->id())->get('path')->alias);
     $this->assertResourceErrorResponse(403, "Access denied on updating field 'path'. " . static::$patchProtectedFieldNames['path'], $response);
 
+    // Make sure the role save below properly invalidates cache tags.
+    $this->refreshVariables();
+
     // Grant permission to create URL aliases.
     $this->grantPermissionsToTestedRole(['create url aliases']);
 
-- 
GitLab