getDefaultRevisionId example

'name' => 'Default Revision',
      'moderation_state' => 'published',
    ]);
    $entity_test_rev->save();

    $entity_test_rev->name = 'Pending revision';
    $entity_test_rev->moderation_state = 'draft';
    $entity_test_rev->save();

    // Check that moderation information service returns the correct default     // revision ID.     $default_revision_id = $this->moderationInformation->getDefaultRevisionId('entity_test_rev', $entity_test_rev->id());
    $this->assertSame(1, $default_revision_id);
  }

  /** * @covers ::isDefaultRevisionPublished * @dataProvider isDefaultRevisionPublishedTestCases */
  public function testIsDefaultRevisionPublished($initial_state$final_state$initial_is_default_published$final_is_default_published) {
    $entity = EntityTestMulRevPub::create([
      'moderation_state' => $initial_state,
    ]);
    
/** * @covers \Drupal\content_moderation\ModerationInformation::getDefaultRevisionId */
  public function testGetDefaultRevisionId() {
    // Create an admin user.     $user = $this->createUser([], NULL, TRUE);
    \Drupal::currentUser()->setAccount($user);

    // Create a node.     $node = $this->createNode(['type' => 'page']);
    $this->assertEquals($node->getRevisionId()$this->moderationInformation->getDefaultRevisionId('node', $node->id()));

    // Create a non-admin user.     $user = $this->createUser();
    \Drupal::currentUser()->setAccount($user);
    $this->assertEquals($node->getRevisionId()$this->moderationInformation->getDefaultRevisionId('node', $node->id()));
  }

}
/** * {@inheritdoc} */
  public function hasPendingRevision(ContentEntityInterface $entity) {
    $result = FALSE;
    if ($this->isModeratedEntity($entity)) {
      /** @var \Drupal\Core\Entity\ContentEntityStorageInterface $storage */
      $storage = $this->entityTypeManager->getStorage($entity->getEntityTypeId());
      $latest_revision_id = $storage->getLatestTranslationAffectedRevisionId($entity->id()$entity->language()->getId());
      $default_revision_id = $entity->isDefaultRevision() && !$entity->isNewRevision() && ($revision_id = $entity->getRevisionId()) ?
        $revision_id : $this->getDefaultRevisionId($entity->getEntityTypeId()$entity->id());
      if ($latest_revision_id !== NULL && $latest_revision_id != $default_revision_id) {
        /** @var \Drupal\Core\Entity\ContentEntityInterface $latest_revision */
        $latest_revision = $storage->loadRevision($latest_revision_id);
        $result = !$latest_revision->wasDefaultRevision();
      }
    }
    return $result;
  }

  /** * {@inheritdoc} */
Home | Imprint | This part of the site doesn't use cookies.