You are here

protected function ContentModerationTestTrait::createEditorialWorkflow in JSON:API 8.2

Creates the editorial workflow.

Return value

\Drupal\workflows\Entity\Workflow The editorial workflow entity.

2 calls to ContentModerationTestTrait::createEditorialWorkflow()
ResourceTestBase::testPatchIndividual in tests/src/Functional/ResourceTestBase.php
Tests PATCHing an individual resource, plus edge cases to ensure good DX.
ResourceTestBase::testRevisions in tests/src/Functional/ResourceTestBase.php
Tests individual and collection revisions.

File

src/BackwardCompatibility/tests/Traits/ContentModerationTestTrait.php, line 21

Class

ContentModerationTestTrait
Trait ContentModerationTestTraint.

Namespace

Drupal\jsonapi\BackwardCompatibility\tests\Traits

Code

protected function createEditorialWorkflow() {
  $workflow = Workflow::create([
    'type' => 'content_moderation',
    'id' => 'editorial',
    'label' => 'Editorial',
    'type_settings' => [
      'states' => [
        'archived' => [
          'label' => 'Archived',
          'weight' => 5,
          'published' => FALSE,
          'default_revision' => TRUE,
        ],
        'draft' => [
          'label' => 'Draft',
          'published' => FALSE,
          'default_revision' => FALSE,
          'weight' => -5,
        ],
        'published' => [
          'label' => 'Published',
          'published' => TRUE,
          'default_revision' => TRUE,
          'weight' => 0,
        ],
      ],
      'transitions' => [
        'archive' => [
          'label' => 'Archive',
          'from' => [
            'published',
          ],
          'to' => 'archived',
          'weight' => 2,
        ],
        'archived_draft' => [
          'label' => 'Restore to Draft',
          'from' => [
            'archived',
          ],
          'to' => 'draft',
          'weight' => 3,
        ],
        'archived_published' => [
          'label' => 'Restore',
          'from' => [
            'archived',
          ],
          'to' => 'published',
          'weight' => 4,
        ],
        'create_new_draft' => [
          'label' => 'Create New Draft',
          'to' => 'draft',
          'weight' => 0,
          'from' => [
            'draft',
            'published',
          ],
        ],
        'publish' => [
          'label' => 'Publish',
          'to' => 'published',
          'weight' => 1,
          'from' => [
            'draft',
            'published',
          ],
        ],
      ],
    ],
  ]);
  $workflow
    ->save();
  return $workflow;
}