You are here

protected function StateTransitionValidationTest::setUp in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/content_moderation/tests/src/Unit/StateTransitionValidationTest.php \Drupal\Tests\content_moderation\Unit\StateTransitionValidationTest::setUp()

Overrides UnitTestCase::setUp

File

core/modules/content_moderation/tests/src/Unit/StateTransitionValidationTest.php, line 32

Class

StateTransitionValidationTest
@coversDefaultClass \Drupal\content_moderation\StateTransitionValidation @group content_moderation

Namespace

Drupal\Tests\content_moderation\Unit

Code

protected function setUp() : void {
  parent::setUp();

  // Create a container so that the plugin manager and workflow type can be
  // mocked.
  $container = new ContainerBuilder();
  $workflow_manager = $this
    ->prophesize(WorkflowTypeManager::class);
  $workflow_manager
    ->createInstance('content_moderation', Argument::any())
    ->willReturn(new TestType([], '', []));
  $container
    ->set('plugin.manager.workflows.type', $workflow_manager
    ->reveal());
  \Drupal::setContainer($container);
  $this->workflow = new Workflow([
    'id' => 'process',
    'type' => 'content_moderation',
  ], 'workflow');
  $this->workflow
    ->getTypePlugin()
    ->addState('draft', 'draft')
    ->addState('needs_review', 'needs_review')
    ->addState('published', 'published')
    ->addTransition('draft', 'draft', [
    'draft',
  ], 'draft')
    ->addTransition('review', 'review', [
    'draft',
  ], 'needs_review')
    ->addTransition('publish', 'publish', [
    'needs_review',
    'published',
  ], 'published');
}