Issue #2960054 by Sam152: content_moderation_post_update_update_cms_default_revisions fails if content_moderation was enabled but no entity types were being moderated

merge-requests/1654/head
Alex Pott 2018-04-11 12:19:54 +01:00
parent 4e43216ffe
commit 7e11010140
No known key found for this signature in database
GPG Key ID: 31905460D4A69276
2 changed files with 14 additions and 1 deletions

View File

@ -20,6 +20,7 @@ function content_moderation_post_update_update_cms_default_revisions(&$sandbox)
$entity_type_id = &$sandbox['entity_type_id'];
if (!isset($entity_type_id)) {
$sandbox['bundles'] = [];
$sandbox['entity_type_ids'] = [];
/** @var \Drupal\workflows\WorkflowInterface $workflow */
foreach (Workflow::loadMultipleByType('content_moderation') as $workflow) {
/** @var \Drupal\content_moderation\Plugin\WorkflowType\ContentModeration $plugin */

View File

@ -20,7 +20,6 @@ class DefaultContentModerationStateRevisionUpdateTest extends UpdatePathTestBase
$this->databaseDumpFiles = [
__DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.4.0.bare.standard.php.gz',
__DIR__ . '/../../fixtures/update/drupal-8.4.0-content_moderation_installed.php',
__DIR__ . '/../../fixtures/update/drupal-8.default-cms-entity-id-2941736.php',
];
}
@ -28,6 +27,11 @@ class DefaultContentModerationStateRevisionUpdateTest extends UpdatePathTestBase
* Test updating the default revision.
*/
public function testUpdateDefaultRevision() {
// Include the database fixture required to test updating the default
// revision. This is excluded from ::setDatabaseDumpFiles so that we can
// test the same post_update hook with no test content enabled.
require __DIR__ . '/../../fixtures/update/drupal-8.default-cms-entity-id-2941736.php';
$this->runUpdates();
foreach (['node', 'block_content'] as $entity_type_id) {
@ -45,6 +49,14 @@ class DefaultContentModerationStateRevisionUpdateTest extends UpdatePathTestBase
}
}
/**
* Test the post_update hook when no entity types are being moderated.
*/
public function testNoEntitiesUnderModeration() {
// If any errors occur during the post_update hook, the test case will fail.
$this->runUpdates();
}
/**
* Assert for the given entity, the default revision ID matches.
*