diff --git a/core/modules/workflows/tests/src/Unit/WorkflowTest.php b/core/modules/workflows/tests/src/Unit/WorkflowTest.php index b055fabcbde64b84bb0db1a6a43dc2871cb865c0..89ee31f6baae23849e9347d144e3036d8825e7a5 100644 --- a/core/modules/workflows/tests/src/Unit/WorkflowTest.php +++ b/core/modules/workflows/tests/src/Unit/WorkflowTest.php @@ -610,6 +610,22 @@ public function testSetTransitionFromStatesMissingState() { $workflow->setTransitionFromStates('create_new_draft', ['draft', 'published', 'archived']); } + /** + * @covers ::setTransitionFromStates + */ + public function testSetTransitionFromStatesAlreadyExists() { + $this->setExpectedException(\InvalidArgumentException::class, "The 'create_new_draft' transition already allows 'draft' to 'draft' transitions in workflow 'test'"); + $workflow = new Workflow(['id' => 'test', 'type' => 'test_type'], 'workflow'); + $workflow + ->addState('draft', 'Draft') + ->addState('archived', 'Archived') + ->addState('needs_review', 'Needs Review') + ->addTransition('create_new_draft', 'Create new draft', ['draft'], 'draft') + ->addTransition('needs_review', 'Needs review', ['needs_review'], 'draft'); + + $workflow->setTransitionFromStates('needs_review', ['draft']); + } + /** * @covers ::deleteTransition */