Skip to content
Snippets Groups Projects
Select Git revision
  • 217ca47aaf258bb1aaeaf45b00444d4294864b11
  • 11.x default protected
  • 10.6.x protected
  • 10.5.x protected
  • 11.2.x protected
  • 11.1.x protected
  • 10.4.x protected
  • 11.0.x protected
  • 10.3.x protected
  • 7.x protected
  • 10.2.x protected
  • 10.1.x protected
  • 9.5.x protected
  • 10.0.x protected
  • 9.4.x protected
  • 9.3.x protected
  • 9.2.x protected
  • 9.1.x protected
  • 8.9.x protected
  • 9.0.x protected
  • 8.8.x protected
  • 10.5.1 protected
  • 11.2.2 protected
  • 11.2.1 protected
  • 11.2.0 protected
  • 10.5.0 protected
  • 11.2.0-rc2 protected
  • 10.5.0-rc1 protected
  • 11.2.0-rc1 protected
  • 10.4.8 protected
  • 11.1.8 protected
  • 10.5.0-beta1 protected
  • 11.2.0-beta1 protected
  • 11.2.0-alpha1 protected
  • 10.4.7 protected
  • 11.1.7 protected
  • 10.4.6 protected
  • 11.1.6 protected
  • 10.3.14 protected
  • 10.4.5 protected
  • 11.0.13 protected
41 results

CommentBaseFieldTest.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ModeratedNodeResourceTestBase.php 1.65 KiB
    <?php
    
    namespace Drupal\Tests\rest\Functional\EntityResource\ModeratedNode;
    
    use Drupal\Tests\content_moderation\Traits\ContentModerationTestTrait;
    use Drupal\Tests\node\Functional\Rest\NodeResourceTestBase;
    
    /**
     * Extend the Node resource test base and apply moderation to the entity.
     */
    abstract class ModeratedNodeResourceTestBase extends NodeResourceTestBase {
    
      use ContentModerationTestTrait;
    
      /**
       * {@inheritdoc}
       */
      public static $modules = ['content_moderation'];
    
      /**
       * The test editorial workflow.
       *
       * @var \Drupal\workflows\WorkflowInterface
       */
      protected $workflow;
    
      /**
       * {@inheritdoc}
       */
      protected function setUpAuthorization($method) {
        parent::setUpAuthorization($method);
    
        switch ($method) {
          case 'POST':
          case 'PATCH':
          case 'DELETE':
            $this->grantPermissionsToTestedRole(['use editorial transition publish', 'use editorial transition create_new_draft']);
            break;
        }
      }
    
      /**
       * {@inheritdoc}
       */
      protected function createEntity() {
        $entity = parent::createEntity();
        if (!$this->workflow) {
          $this->workflow = $this->createEditorialWorkflow();
        }
        $this->workflow->getTypePlugin()->addEntityTypeAndBundle($entity->getEntityTypeId(), $entity->bundle());
        $this->workflow->save();
    
        return $entity;
      }
    
      /**
       * {@inheritdoc}
       */
      protected function getExpectedNormalizedEntity() {
        return array_merge(parent::getExpectedNormalizedEntity(), [
          'moderation_state' => [
            [
              'value' => 'published',
            ],
          ],
          'vid' => [
            [
              'value' => (int) $this->entity->getRevisionId(),
            ],
          ],