From b5cc26a3b069e7a57aca505b2c52e8199e906982 Mon Sep 17 00:00:00 2001 From: catch Date: Mon, 29 Jun 2020 21:33:48 +0100 Subject: [PATCH] Issue #3151990 by daffie, Hardik_Patel_12: Replace the database queries with an entity queries in NodeRevisionPermissionsTest --- .../src/Functional/NodeRevisionPermissionsTest.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php b/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php index 1c8224d1cc24..a2da9bc5c0e5 100644 --- a/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php +++ b/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php @@ -110,10 +110,13 @@ class NodeRevisionPermissionsTest extends NodeTestBase { $permutations = $this->generatePermutations($parameters); $node_revision_access = \Drupal::service('access_check.node.revision'); - $connection = \Drupal::database(); + $vids = \Drupal::entityQuery('node') + ->allRevisions() + ->condition('nid', $revision->id()) + ->execute(); foreach ($permutations as $case) { // Skip this test if there are no revisions for the node. - if (!($revision->isDefaultRevision() && ($connection->query('SELECT COUNT(vid) FROM {node_field_revision} WHERE nid = :nid', [':nid' => $revision->id()])->fetchField() == 1 || $case['op'] == 'update' || $case['op'] == 'delete'))) { + if (!($revision->isDefaultRevision() && (count($vids) == 1 || $case['op'] == 'update' || $case['op'] == 'delete'))) { if (!empty($case['account']->is_admin) || $case['account']->hasPermission($this->map[$case['op']])) { $this->assertTrue($node_revision_access->checkAccess($revision, $case['account'], $case['op']), "{$this->map[$case['op']]} granted."); } @@ -159,10 +162,13 @@ class NodeRevisionPermissionsTest extends NodeTestBase { $permutations = $this->generatePermutations($parameters); $node_revision_access = \Drupal::service('access_check.node.revision'); - $connection = \Drupal::database(); + $vids = \Drupal::entityQuery('node') + ->allRevisions() + ->condition('nid', $revision->id()) + ->execute(); foreach ($permutations as $case) { // Skip this test if there are no revisions for the node. - if (!($revision->isDefaultRevision() && ($connection->query('SELECT COUNT(vid) FROM {node_field_revision} WHERE nid = :nid', [':nid' => $revision->id()])->fetchField() == 1 || $case['op'] == 'update' || $case['op'] == 'delete'))) { + if (!($revision->isDefaultRevision() && (count($vids) == 1 || $case['op'] == 'update' || $case['op'] == 'delete'))) { if (!empty($case['account']->is_admin) || $case['account']->hasPermission($this->typeMap[$case['op']])) { $this->assertTrue($node_revision_access->checkAccess($revision, $case['account'], $case['op']), "{$this->typeMap[$case['op']]} granted."); }