You are here

public function ContentModerationPermissionsTest::permissionsTestCases in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/content_moderation/tests/src/Kernel/ContentModerationPermissionsTest.php \Drupal\Tests\content_moderation\Kernel\ContentModerationPermissionsTest::permissionsTestCases()
  2. 10 core/modules/content_moderation/tests/src/Kernel/ContentModerationPermissionsTest.php \Drupal\Tests\content_moderation\Kernel\ContentModerationPermissionsTest::permissionsTestCases()

Test cases for ::testPermissions.

Return value

array Content moderation permissions based test cases.

File

core/modules/content_moderation/tests/src/Kernel/ContentModerationPermissionsTest.php, line 51

Class

ContentModerationPermissionsTest
Test to ensure content moderation permissions are generated correctly.

Namespace

Drupal\Tests\content_moderation\Kernel

Code

public function permissionsTestCases() {
  return [
    'Simple Content Moderation Workflow' => [
      [
        'id' => 'simple_workflow',
        'label' => 'Simple Workflow',
        'type' => 'content_moderation',
        'type_settings' => [
          'states' => [
            'draft' => [
              'label' => 'Draft',
              'published' => FALSE,
              'default_revision' => FALSE,
              'weight' => 0,
            ],
            'published' => [
              'label' => 'Published',
              'published' => TRUE,
              'default_revision' => TRUE,
              'weight' => 1,
            ],
            'archived' => [
              'label' => 'Archived',
              'published' => FALSE,
              'default_revision' => TRUE,
              'weight' => 2,
            ],
          ],
          'transitions' => [
            'create_new_draft' => [
              'label' => 'Create New Draft',
              'to' => 'draft',
              'weight' => 0,
              'from' => [
                'draft',
                'published',
              ],
            ],
            'publish' => [
              'label' => 'Publish',
              'to' => 'published',
              'weight' => 1,
              'from' => [
                'draft',
                'published',
              ],
            ],
            'archive' => [
              'label' => 'Archive',
              'to' => 'archived',
              'weight' => 2,
              'from' => [
                'published',
              ],
            ],
          ],
        ],
      ],
      [
        'use simple_workflow transition publish' => [
          'title' => '<em class="placeholder">Simple Workflow</em> workflow: Use <em class="placeholder">Publish</em> transition.',
          'description' => 'Move content from <em class="placeholder">Draft, Published</em> states to <em class="placeholder">Published</em> state.',
          'dependencies' => [
            'config' => [
              'workflows.workflow.simple_workflow',
            ],
          ],
        ],
        'use simple_workflow transition create_new_draft' => [
          'title' => '<em class="placeholder">Simple Workflow</em> workflow: Use <em class="placeholder">Create New Draft</em> transition.',
          'description' => 'Move content from <em class="placeholder">Draft, Published</em> states to <em class="placeholder">Draft</em> state.',
          'dependencies' => [
            'config' => [
              'workflows.workflow.simple_workflow',
            ],
          ],
        ],
        'use simple_workflow transition archive' => [
          'title' => '<em class="placeholder">Simple Workflow</em> workflow: Use <em class="placeholder">Archive</em> transition.',
          'description' => 'Move content from <em class="placeholder">Published</em> state to <em class="placeholder">Archived</em> state.',
          'dependencies' => [
            'config' => [
              'workflows.workflow.simple_workflow',
            ],
          ],
        ],
      ],
    ],
    'Non Content Moderation Workflow' => [
      [
        'id' => 'morning',
        'label' => 'Morning',
        'type' => 'workflow_type_test',
        'transitions' => [
          'drink_coffee' => [
            'label' => 'Drink Coffee',
            'from' => [
              'tired',
            ],
            'to' => 'awake',
            'weight' => 0,
          ],
        ],
        'states' => [
          'awake' => [
            'label' => 'Awake',
            'weight' => -5,
          ],
          'tired' => [
            'label' => 'Tired',
            'weight' => -0,
          ],
        ],
      ],
      [],
    ],
  ];
}