Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / content_moderation / tests / src / Traits / ContentModerationTestTrait.php
diff --git a/web/core/modules/content_moderation/tests/src/Traits/ContentModerationTestTrait.php b/web/core/modules/content_moderation/tests/src/Traits/ContentModerationTestTrait.php
new file mode 100644 (file)
index 0000000..4e9ecc3
--- /dev/null
@@ -0,0 +1,88 @@
+<?php
+
+namespace Drupal\Tests\content_moderation\Traits;
+
+use Drupal\workflows\Entity\Workflow;
+
+/**
+ * Trait ContentModerationTestTraint.
+ */
+trait ContentModerationTestTrait {
+
+  /**
+   * Creates the editorial workflow.
+   *
+   * @return \Drupal\workflows\Entity\Workflow
+   *   The editorial workflow entity.
+   */
+  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;
+  }
+
+}