From 1b157ac171b547d986ef8bab06473c587ad1be74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Ostroluck=C3=BD?= Date: Sun, 21 Feb 2021 23:13:32 +0100 Subject: [PATCH] Fix tests compatibility with symfony/doctrine-bridge 5.x Newest doctrine-bridge does not add these listeners via method calls, but via constructor https://github.com/symfony/symfony/issues/40268#issuecomment-782928240 --- .../AbstractDoctrineExtensionTest.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php b/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php index dfb4a79d6..c3dca00d1 100644 --- a/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php +++ b/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php @@ -1019,11 +1019,23 @@ public function testAttachEntityListenersTwoConnections(): void $defaultEventManager = $container->getDefinition('doctrine.dbal.default_connection.event_manager'); $this->assertDICDefinitionNoMethodCall($defaultEventManager, 'addEventListener', [['loadClassMetadata'], new Reference('doctrine.orm.em2_listeners.attach_entity_listeners')]); - $this->assertDICDefinitionMethodCallOnce($defaultEventManager, 'addEventListener', [['loadClassMetadata'], new Reference('doctrine.orm.em1_listeners.attach_entity_listeners')]); + $defaultEventManagerArguments = $defaultEventManager->getArguments(); + + if (isset($defaultEventManagerArguments[1][1])) { + $this->assertSame([['loadClassMetadata'], 'doctrine.orm.em1_listeners.attach_entity_listeners'], $defaultEventManager->getArgument(1)[1]); + } else { + $this->assertDICDefinitionMethodCallOnce($defaultEventManager, 'addEventListener', [['loadClassMetadata'], new Reference('doctrine.orm.em1_listeners.attach_entity_listeners')]); + } $foobarEventManager = $container->getDefinition('doctrine.dbal.foobar_connection.event_manager'); $this->assertDICDefinitionNoMethodCall($foobarEventManager, 'addEventListener', [['loadClassMetadata'], new Reference('doctrine.orm.em1_listeners.attach_entity_listeners')]); - $this->assertDICDefinitionMethodCallOnce($foobarEventManager, 'addEventListener', [['loadClassMetadata'], new Reference('doctrine.orm.em2_listeners.attach_entity_listeners')]); + $foobarEventManagerArguments = $foobarEventManager->getArguments(); + + if (isset($foobarEventManagerArguments[1][1])) { + $this->assertSame([['loadClassMetadata'], 'doctrine.orm.em2_listeners.attach_entity_listeners'], $foobarEventManager->getArgument(1)[1]); + } else { + $this->assertDICDefinitionMethodCallOnce($foobarEventManager, 'addEventListener', [['loadClassMetadata'], new Reference('doctrine.orm.em2_listeners.attach_entity_listeners')]); + } } public function testAttachLazyEntityListener(): void