X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fcontent_moderation%2Ftests%2Fsrc%2FKernel%2FModerationInformationTest.php;fp=web%2Fcore%2Fmodules%2Fcontent_moderation%2Ftests%2Fsrc%2FKernel%2FModerationInformationTest.php;h=a313bc9c3115b6b3c2efb1d136c4fa98ab4d9fce;hp=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/web/core/modules/content_moderation/tests/src/Kernel/ModerationInformationTest.php b/web/core/modules/content_moderation/tests/src/Kernel/ModerationInformationTest.php new file mode 100644 index 000000000..a313bc9c3 --- /dev/null +++ b/web/core/modules/content_moderation/tests/src/Kernel/ModerationInformationTest.php @@ -0,0 +1,64 @@ +installEntitySchema('entity_test_rev'); + $this->installEntitySchema('content_moderation_state'); + $this->installConfig(['content_moderation']); + } + + /** + * @covers ::getDefaultRevisionId + * @covers ::getLatestRevisionId + */ + public function testDefaultAndLatestRevisionId() { + $workflow = Workflow::load('editorial'); + $workflow->getTypePlugin()->addEntityTypeAndBundle('entity_test_rev', 'entity_test_rev'); + $workflow->save(); + + $entity_test_rev = EntityTestRev::create([ + '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(); + + /** @var \Drupal\content_moderation\ModerationInformationInterface $moderation_info */ + $moderation_info = \Drupal::service('content_moderation.moderation_information'); + + // Check that moderation information service returns the correct default + // revision ID. + $default_revision_id = $moderation_info->getDefaultRevisionId('entity_test_rev', $entity_test_rev->id()); + $this->assertSame(1, $default_revision_id); + + // Check that moderation information service returns the correct latest + // revision ID. + $latest_revision_id = $moderation_info->getLatestRevisionId('entity_test_rev', $entity_test_rev->id()); + $this->assertSame(2, $latest_revision_id); + } + +}