diff --git a/core/modules/content_moderation/src/EntityOperations.php b/core/modules/content_moderation/src/EntityOperations.php index 52d2ca3909fa4928cb64a24ecae99beee7c92396..8c6d3325089840426b950cfebeaef7f20fe03ad8 100644 --- a/core/modules/content_moderation/src/EntityOperations.php +++ b/core/modules/content_moderation/src/EntityOperations.php @@ -235,11 +235,10 @@ public function entityDelete(EntityInterface $entity) { * @see hook_entity_revision_delete() */ public function entityRevisionDelete(EntityInterface $entity) { - if ($content_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($entity)) { - if ($content_moderation_state->isDefaultRevision()) { - $content_moderation_state->delete(); - } - else { + /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */ + if (!$entity->isDefaultRevision()) { + $content_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($entity); + if ($content_moderation_state) { $this->entityTypeManager ->getStorage('content_moderation_state') ->deleteRevision($content_moderation_state->getRevisionId()); diff --git a/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php b/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php index 373d01ff86c0644d66bd9cb85409823c46cd8af3..1a1b6e46e908aa9e52bf7e94d8b8173605a24ed9 100644 --- a/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php +++ b/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php @@ -238,30 +238,6 @@ public function testContentModerationStatePendingRevisionDataRemoval($entity_typ $this->assertFalse($content_moderation_state); } - /** - * Tests removal of content moderation state entities for preexisting content. - */ - public function testExistingContentModerationStateDataRemoval() { - $storage = $this->entityTypeManager->getStorage('entity_test_mulrevpub'); - - $entity = $storage->create([]); - $entity->save(); - $original_revision_id = $entity->getRevisionId(); - - $workflow = $this->createEditorialWorkflow(); - $workflow->getTypePlugin()->addEntityTypeAndBundle($entity->getEntityTypeId(), $entity->bundle()); - $workflow->save(); - - $entity->moderation_state = 'draft'; - $entity->save(); - - $storage->deleteRevision($entity->getRevisionId()); - - $entity = $this->reloadEntity($entity); - $this->assertEquals('published', $entity->moderation_state->value); - $this->assertEquals($original_revision_id, $storage->getLatestRevisionId($entity->id())); - } - /** * Tests removal of content moderation state translations. *