public function TestBase::testMultipleUntranslatedRevisions in Workbench Moderation to Content Moderation 8.2
Migrates an entity with several revisions, but no translations.
File
- tests/
src/ Functional/ TestBase.php, line 168
Class
Namespace
Drupal\Tests\wbm2cm\FunctionalCode
public function testMultipleUntranslatedRevisions() {
$entity = $this
->createEntity();
$default_vid = NULL;
$moderation_states = [];
while (count($moderation_states) < 5) {
$entity
->setNewRevision();
// The third revision will arbitrarily be the default revision.
if (count($moderation_states) === 2) {
$entity
->isDefaultRevision(TRUE);
}
$entity
->set('moderation_state', $this
->randomEntity('moderation_state'));
$this->storage
->save($entity);
$vid = (int) $entity
->getRevisionId();
if ($entity
->isDefaultRevision()) {
$default_vid = $vid;
}
$moderation_states[$vid] = $entity->moderation_state->target_id;
}
// Ensure that we chose a default revision.
$this
->assertInternalType('integer', $default_vid);
$this
->doMigration();
foreach ($moderation_states as $vid => $moderation_state) {
/** @var ContentEntityInterface $revision */
$revision = $this->storage
->loadRevision($vid);
if ($vid === $default_vid) {
$this
->assertTrue($revision
->isDefaultRevision());
}
$this
->assertSame($moderation_state, $revision->moderation_state->value);
}
}