function ModerationStateFieldItemListTest::testEntityWithNoWorkflow

Same name in other branches
  1. 8.9.x core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php \Drupal\Tests\content_moderation\Kernel\ModerationStateFieldItemListTest::testEntityWithNoWorkflow()
  2. 10 core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php \Drupal\Tests\content_moderation\Kernel\ModerationStateFieldItemListTest::testEntityWithNoWorkflow()
  3. 11.x core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php \Drupal\Tests\content_moderation\Kernel\ModerationStateFieldItemListTest::testEntityWithNoWorkflow()

Tests updating the state for an entity without a workflow.

File

core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php, line 255

Class

ModerationStateFieldItemListTest
@coversDefaultClass \Drupal\content_moderation\Plugin\Field\ModerationStateFieldItemList

Namespace

Drupal\Tests\content_moderation\Kernel

Code

public function testEntityWithNoWorkflow() {
    $node_type = NodeType::create([
        'type' => 'example_no_workflow',
    ]);
    $node_type->save();
    $test_node = Node::create([
        'type' => 'example_no_workflow',
        'title' => 'Test node with no workflow',
    ]);
    $test_node->save();
    
    /** @var \Drupal\content_moderation\ModerationInformationInterface $content_moderation_info */
    $content_moderation_info = \Drupal::service('content_moderation.moderation_information');
    $workflow = $content_moderation_info->getWorkflowForEntity($test_node);
    $this->assertNull($workflow);
    $this->assertTrue($test_node->isPublished());
    $test_node->moderation_state
        ->setValue('draft');
    // The entity is still published because there is not a workflow.
    $this->assertTrue($test_node->isPublished());
}

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