From bd38cceaa893b8e4ad0ad731ea6c721d21e453e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Pineau?= Date: Tue, 1 Dec 2020 00:25:57 +0100 Subject: [PATCH] [Workflow] Fixed case when the marking store is not defined --- .../DependencyInjection/FrameworkExtension.php | 4 +--- .../Tests/DependencyInjection/FrameworkExtensionTest.php | 8 +++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index a599a684af..a45de43954 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -810,9 +810,7 @@ class FrameworkExtension extends Extension // Create Workflow $workflowDefinition = new ChildDefinition(sprintf('%s.abstract', $type)); $workflowDefinition->replaceArgument(0, new Reference(sprintf('%s.definition', $workflowId))); - if (isset($markingStoreDefinition)) { - $workflowDefinition->replaceArgument(1, $markingStoreDefinition); - } + $workflowDefinition->replaceArgument(1, $markingStoreDefinition ?? null); $workflowDefinition->replaceArgument(3, $name); $workflowDefinition->replaceArgument(4, $workflow['events_to_dispatch']); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php index e9d141d528..0fc7b47d56 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -226,7 +226,13 @@ abstract class FrameworkExtensionTest extends TestCase $this->assertTrue($container->hasDefinition('workflow.article'), 'Workflow is registered as a service'); $this->assertSame('workflow.abstract', $container->getDefinition('workflow.article')->getParent()); - $this->assertNull($container->getDefinition('workflow.article')->getArgument('index_4'), 'Workflows has eventsToDispatch=null'); + + $args = $container->getDefinition('workflow.article')->getArguments(); + $this->assertArrayHasKey('index_0', $args); + $this->assertArrayHasKey('index_1', $args); + $this->assertArrayHasKey('index_3', $args); + $this->assertArrayHasKey('index_4', $args); + $this->assertNull($args['index_4'], 'Workflows has eventsToDispatch=null'); $this->assertTrue($container->hasDefinition('workflow.article.definition'), 'Workflow definition is registered as a service');