WorkflowDependenciesTest.php
Same filename in other branches
Namespace
Drupal\Tests\workflows\KernelFile
-
core/
modules/ workflows/ tests/ src/ Kernel/ WorkflowDependenciesTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\workflows\Kernel;
use Drupal\KernelTests\KernelTestBase;
use Drupal\workflows\Entity\Workflow;
/**
* Tests configuration dependencies in workflows.
*
* @coversDefaultClass \Drupal\workflows\Entity\Workflow
*
* @group workflows
*/
class WorkflowDependenciesTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'system',
'workflows',
'workflow_type_test',
'workflow_third_party_settings_test',
];
/**
* Tests \Drupal\workflows\Entity\Workflow::onDependencyRemoval().
*/
public function testOnDependencyRemoval() : void {
// Create a workflow that has a dependency on a third party setting.
$workflow = Workflow::create([
'id' => 'test3',
'label' => 'Test workflow',
'type' => 'workflow_type_complex_test',
]);
$workflow->setThirdPartySetting('workflow_third_party_settings_test', 'key', 'value');
$workflow->save();
$this->assertSame([
'workflow_third_party_settings_test',
'workflow_type_test',
], $workflow->getDependencies()['module']);
// Uninstall workflow_third_party_settings_test to ensure
// \Drupal\workflows\Entity\Workflow::onDependencyRemoval() works as
// expected.
\Drupal::service('module_installer')->uninstall([
'node',
'workflow_third_party_settings_test',
]);
/** @var \Drupal\workflows\WorkflowInterface $workflow */
$workflow = \Drupal::entityTypeManager()->getStorage('workflow')
->loadUnchanged($workflow->id());
$this->assertSame([
'workflow_type_test',
], $workflow->getDependencies()['module']);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
WorkflowDependenciesTest | Tests configuration dependencies in workflows. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.