public function ModerationStateFieldItemListTest::testWithExistingUnmoderatedContent in Drupal 9
Same name and namespace in other branches
- 8 core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php \Drupal\Tests\content_moderation\Kernel\ModerationStateFieldItemListTest::testWithExistingUnmoderatedContent()
- 10 core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php \Drupal\Tests\content_moderation\Kernel\ModerationStateFieldItemListTest::testWithExistingUnmoderatedContent()
Tests the field item list when used with existing unmoderated content.
File
- core/
modules/ content_moderation/ tests/ src/ Kernel/ ModerationStateFieldItemListTest.php, line 377
Class
- ModerationStateFieldItemListTest
- @coversDefaultClass \Drupal\content_moderation\Plugin\Field\ModerationStateFieldItemList
Namespace
Drupal\Tests\content_moderation\KernelCode
public function testWithExistingUnmoderatedContent() {
$node = Node::create([
'title' => 'Test title',
'type' => 'unmoderated',
]);
$node
->save();
$translation = $node
->addTranslation('de', $node
->toArray());
$translation->title = 'Translated';
$translation
->save();
$workflow = Workflow::load('editorial');
$workflow
->getTypePlugin()
->addEntityTypeAndBundle('node', 'unmoderated');
$workflow
->save();
// After enabling moderation, both the original node and translation should
// have a published moderation state.
$node = Node::load($node
->id());
$translation = $node
->getTranslation('de');
$this
->assertEquals('published', $node->moderation_state->value);
$this
->assertEquals('published', $translation->moderation_state->value);
// After the node has been updated, both the original node and translation
// should still have a value.
$node->title = 'Updated title';
$node
->save();
$translation = $node
->getTranslation('de');
$this
->assertEquals('published', $node->moderation_state->value);
$this
->assertEquals('published', $translation->moderation_state->value);
}