Unverified Commit 743c2e68 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3439832 by pooja_sharma, solimanharkas, smustgrave, quietone, vensires:...

Issue #3439832 by pooja_sharma, solimanharkas, smustgrave, quietone, vensires: Fix Content Moderation tests that rely on UID1's super user behavior

(cherry picked from commit 56186f90)
parent 78e8f760
Loading
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\content_moderation\Traits\ContentModerationTestTrait;
use Drupal\Tests\content_translation\Traits\ContentTranslationTestTrait;
use Drupal\user\Entity\Role;

/**
 * Test content_moderation functionality with content_translation.
@@ -34,14 +35,6 @@ class ModerationContentTranslationTest extends BrowserTestBase {
    'content_translation',
  ];

  /**
   * {@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}
   */
@@ -52,7 +45,12 @@ class ModerationContentTranslationTest extends BrowserTestBase {
   */
  protected function setUp(): void {
    parent::setUp();
    $this->drupalLogin($this->rootUser);
    $this->adminUser = $this->drupalCreateUser([
      'bypass node access',
      'create content translations',
      'translate any entity',
    ]);
    $this->drupalLogin($this->adminUser);
    // Create an Article content type.
    $this->drupalCreateContentType(['type' => 'article', 'name' => 'Article'])->save();
    static::createLanguageFromLangcode('fr');
@@ -91,7 +89,7 @@ public function testModerationWithExistingContent(): void {
    $workflow = $this->createEditorialWorkflow();
    $workflow->getTypePlugin()->addEntityTypeAndBundle('node', 'article');
    $workflow->save();
    $this->drupalLogin($this->rootUser);
    $this->grantPermissions(Role::load(Role::AUTHENTICATED_ID), ['use editorial transition publish']);

    // Edit the English node.
    $this->drupalGet('node/' . $english_node->id() . '/edit');
+13 −7
Original line number Diff line number Diff line
@@ -29,16 +29,20 @@ class ModerationFormTest extends ModerationStateTestBase {

  /**
   * {@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}
   */
  protected $defaultTheme = 'stark';
  protected function getAdministratorPermissions(): array {
    return array_merge($this->permissions, [
      'administer entity_test content',
      'view test entity',
      'translate any entity',
      'bypass node access',
    ]);
  }

  /**
   * {@inheritdoc}
@@ -196,7 +200,8 @@ public function testModerationForm(): void {
   * Tests moderation non-bundle entity type.
   */
  public function testNonBundleModerationForm(): void {
    $this->drupalLogin($this->rootUser);
    $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions());
    $this->drupalLogin($this->adminUser);
    $this->workflow->getTypePlugin()->addEntityTypeAndBundle('entity_test_mulrevpub', 'entity_test_mulrevpub');
    $this->workflow->save();

@@ -290,7 +295,8 @@ public function testModerationFormSetsRevisionAuthor(): void {
   * Tests translated and moderated nodes.
   */
  public function testContentTranslationNodeForm(): void {
    $this->drupalLogin($this->rootUser);
    $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions());
    $this->drupalLogin($this->adminUser);

    // Add French language.
    static::createLanguageFromLangcode('fr');
+10 −7
Original line number Diff line number Diff line
@@ -29,16 +29,19 @@ class ModerationLocaleTest extends ModerationStateTestBase {

  /**
   * {@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}
   */
  protected $defaultTheme = 'stark';
  protected function getAdministratorPermissions(): array {
    return array_merge($this->permissions, [
      'create content translations',
      'bypass node access',
      'translate any entity',
    ]);
  }

  /**
   * {@inheritdoc}
@@ -46,8 +49,8 @@ class ModerationLocaleTest extends ModerationStateTestBase {
  protected function setUp(): void {
    parent::setUp();

    $this->drupalLogin($this->rootUser);

    $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions());
    $this->drupalLogin($this->adminUser);
    // Enable moderation on Article node type.
    $this->createContentTypeFromUi('Article', 'article', TRUE);

+9 −6
Original line number Diff line number Diff line
@@ -16,16 +16,18 @@ class ModerationStateBlockTest extends ModerationStateTestBase {

  /**
   * {@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}
   */
  protected $defaultTheme = 'stark';
  protected function getAdministratorPermissions(): array {
    return array_merge($this->permissions, [
      'administer blocks',
      'administer block content',
    ]);
  }

  /**
   * {@inheritdoc}
@@ -64,7 +66,8 @@ protected function setUp(): void {
   * @see \Drupal\content_moderation\Tests\ModerationFormTest::testModerationForm
   */
  public function testCustomBlockModeration(): void {
    $this->drupalLogin($this->rootUser);
    $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions());
    $this->drupalLogin($this->adminUser);

    // Enable moderation for content blocks.
    $edit['bundles[basic]'] = TRUE;
+9 −6
Original line number Diff line number Diff line
@@ -24,16 +24,18 @@ class WorkspaceContentModerationIntegrationTest extends ModerationStateTestBase

  /**
   * {@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}
   */
  protected $defaultTheme = 'stark';
  protected function getAdministratorPermissions(): array {
    return array_merge($this->permissions, [
      'bypass node access',
      'view any workspace',
    ]);
  }

  /**
   * {@inheritdoc}
@@ -41,7 +43,8 @@ class WorkspaceContentModerationIntegrationTest extends ModerationStateTestBase
  protected function setUp(): void {
    parent::setUp();

    $this->drupalLogin($this->rootUser);
    $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions());
    $this->drupalLogin($this->adminUser);

    // Enable moderation on Article node type.
    $this->createContentTypeFromUi('Article', 'article', TRUE);
Loading