function ContentModerationStateTest::testWorkflowDependencies

Same name and namespace in other branches
  1. 9 core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php \Drupal\Tests\content_moderation\Kernel\ContentModerationStateTest::testWorkflowDependencies()
  2. 8.9.x core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php \Drupal\Tests\content_moderation\Kernel\ContentModerationStateTest::testWorkflowDependencies()
  3. 11.x core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php \Drupal\Tests\content_moderation\Kernel\ContentModerationStateTest::testWorkflowDependencies()

Tests the dependencies of the workflow when using content moderation.

1 method overrides ContentModerationStateTest::testWorkflowDependencies()
WorkspacesContentModerationStateTest::testWorkflowDependencies in core/modules/content_moderation/tests/src/Kernel/WorkspacesContentModerationStateTest.php
Tests the dependencies of the workflow when using content moderation.

File

core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php, line 641

Class

ContentModerationStateTest
Tests links between a content entity and a content_moderation_state entity.

Namespace

Drupal\Tests\content_moderation\Kernel

Code

public function testWorkflowDependencies() : void {
  $node_type = $this->createContentType([
    'type' => 'example',
  ]);
  $workflow = $this->createEditorialWorkflow();
  // Test both a config and non-config based bundle and entity type.
  $this->addEntityTypeAndBundleToWorkflow($workflow, 'node', 'example');
  $this->addEntityTypeAndBundleToWorkflow($workflow, 'entity_test_rev', 'entity_test_rev');
  $this->addEntityTypeAndBundleToWorkflow($workflow, 'entity_test_no_bundle', 'entity_test_no_bundle');
  $this->assertEquals([
    'module' => [
      'content_moderation',
      'entity_test',
    ],
    'config' => [
      'node.type.example',
    ],
  ], $workflow->getDependencies());
  $this->assertEquals([
    'entity_test_no_bundle',
    'entity_test_rev',
    'node',
  ], $workflow->getTypePlugin()
    ->getEntityTypes());
  // Delete the node type and ensure it is removed from the workflow.
  $node_type->delete();
  $workflow = Workflow::load('editorial');
  $entity_types = $workflow->getTypePlugin()
    ->getEntityTypes();
  $this->assertNotContains('node', $entity_types);
  // Uninstall entity test and ensure it's removed from the workflow.
  $this->container
    ->get('config.manager')
    ->uninstall('module', 'entity_test');
  $workflow = Workflow::load('editorial');
  $entity_types = $workflow->getTypePlugin()
    ->getEntityTypes();
  $this->assertEquals([], $entity_types);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.