Issue #3151990 by daffie, Hardik_Patel_12: Replace the database queries with an entity queries in NodeRevisionPermissionsTest

merge-requests/2/head
catch 2020-06-29 21:33:48 +01:00
parent 2b7d2e1e26
commit b5cc26a3b0
1 changed files with 10 additions and 4 deletions

View File

@ -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.");
}