EntityFormDisplayDependenciesUpdateTest.php
Namespace
Drupal\Tests\content_moderation\Functional\UpdateFile
-
core/
modules/ content_moderation/ tests/ src/ Functional/ Update/ EntityFormDisplayDependenciesUpdateTest.php
View source
<?php
namespace Drupal\Tests\content_moderation\Functional\Update;
use Drupal\Core\Entity\Entity\EntityFormDisplay;
use Drupal\FunctionalTests\Update\UpdatePathTestBase;
/**
* Test updating the dependencies of entity form displays.
*
* @group Update
* @group legacy
*
* @see content_moderation_post_update_entity_display_dependencies()
*/
class EntityFormDisplayDependenciesUpdateTest extends UpdatePathTestBase {
/**
* {@inheritdoc}
*/
protected function setDatabaseDumpFiles() {
$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.entity-form-display-dependencies-2915383.php',
];
}
/**
* Tests updating the dependencies of entity displays.
*/
public function testEntityDisplaysUpdated() {
$no_moderation_form_display = EntityFormDisplay::load('block_content.basic.default');
$has_moderation_form_display = EntityFormDisplay::load('node.article.default');
// Assert the moderation field and content_moderation dependency exists on
// an entity type that does not have moderation enabled, these will be
// removed.
$this->assertEquals('moderation_state_default', $no_moderation_form_display->getComponent('moderation_state')['type']);
$this->assertTrue(in_array('content_moderation', $no_moderation_form_display->getDependencies()['module']));
// Assert the editorial config dependency doesn't exist on the entity form
// with moderation, this will be added.
$this->assertFalse(in_array('workflows.workflow.editorial', $has_moderation_form_display->getDependencies()['config']));
$this->runUpdates();
$no_moderation_form_display = EntityFormDisplay::load('block_content.basic.default');
$has_moderation_form_display = EntityFormDisplay::load('node.article.default');
// The moderation_state field has been removed from the non-moderated block
// entity form display.
$this->assertEquals(NULL, $no_moderation_form_display->getComponent('moderation_state'));
$this->assertFalse(in_array('content_moderation', $no_moderation_form_display->getDependencies()['module']));
// The editorial workflow config dependency has been added to moderated
// form display.
$this->assertTrue(in_array('workflows.workflow.editorial', $has_moderation_form_display->getDependencies()['config']));
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
EntityFormDisplayDependenciesUpdateTest | Test updating the dependencies of entity form displays. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.