3 namespace Drupal\Tests\content_moderation\Kernel;
5 use Drupal\content_moderation\Permissions;
6 use Drupal\KernelTests\KernelTestBase;
7 use Drupal\workflows\Entity\Workflow;
10 * Test to ensure content moderation permissions are generated correctly.
12 * @group content_moderation
14 class ContentModerationPermissionsTest extends KernelTestBase {
21 public static $modules = [
30 protected function setUp() {
32 $this->installEntitySchema('workflow');
36 * Test permissions generated by content moderation.
38 * @dataProvider permissionsTestCases
40 public function testPermissions($workflow, $permissions) {
41 Workflow::create($workflow)->save();
42 $this->assertEquals($permissions, (new Permissions())->transitionPermissions());
46 * Test cases for ::testPermissions
49 * Content moderation permissions based test cases.
51 public function permissionsTestCases() {
53 'Simple Content Moderation Workflow' => [
55 'id' => 'simple_workflow',
56 'label' => 'Simple Workflow',
57 'type' => 'content_moderation',
60 'use simple_workflow transition publish' => [
61 'title' => '<em class="placeholder">Simple Workflow</em> workflow: Use <em class="placeholder">Publish</em> transition.',
63 'use simple_workflow transition create_new_draft' => [
64 'title' => '<em class="placeholder">Simple Workflow</em> workflow: Use <em class="placeholder">Create New Draft</em> transition.',
68 'Non Content Moderation Workflow' => [
72 'type' => 'workflow_type_test',
75 'label' => 'Drink Coffee',