8000 [DoctrineBridge] Failing testcase for event listeners and multiple co… · sigues/symfony@0bf3c06 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0bf3c06

Browse files
committed
[DoctrineBridge] Failing testcase for event listeners and multiple connections
1 parent 8c2f35f commit 0bf3c06

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,27 @@ public function testProcessEventListenersWithPriorities()
5151
$this->assertEquals(array('foo', 'bar'), $calls[1][1][0]);
5252
}
5353

54+
public function testProcessEventListenersWithMultipleConnections()
55+
{
56+
$container = $this->createBuilder(true);
57+
58+
$container
59+
->register('a', 'stdClass')
60+
->addTag('doctrine.event_listener', array(
61+
'event' => 'onFlush',
62+
))
63+
;
64+
$this->process($container);
65+
66+
$callsDefault = $container->getDefinition('doctrine.dbal.default_connection.event_manager')->getMethodCalls();
67+
68+
$this->assertEquals('addEventListener', $callsDefault[0][0]);
69+
$this->assertEquals(array('onFlush'), $callsDefault[0][1][0]);
70+
71+
$callsSecond = $container->getDefinition('doctrine.dbal.second_connection.event_manager')->getMethodCalls();
72+
$this->assertEquals($callsDefault, $callsSecond);
73+
}
74+
5475
public function testProcessEventSubscribersWithPriorities()
5576
{
5677
$container = $this->createBuilder();
@@ -114,12 +135,22 @@ private function getServiceOrder(ContainerBuilder $container, $method)
114135
return $order;
115136
}
116137

117-
private function createBuilder()
138+
private function createBuilder($multipleConnections = false)
118139
{
119140
$container = new ContainerBuilder();
141+
142+
$connections = array('default' => 'doctrine.dbal.default_connection');
143+
120144
$container->register('doctrine.dbal.default_connection.event_manager', 'stdClass');
121145
$container->register('doctrine.dbal.default_connection', 'stdClass');
122-
$container->setParameter('doctrine.connections', array('default' => 'doctrine.dbal.default_connection'));
146+
147+
if ($multipleConnections) {
148+
$container->register('doctrine.dbal.second_connection.event_manager', 'stdClass');
149+
$container->register('doctrine.dbal.second_connection', 'stdClass');
150+
$connections['second'] = 'doctrine.dbal.second_connection';
151+
}
152+
153+
$container->setParameter('doctrine.connections', $connections);
123154

124155
return $container;
125156
}

0 commit comments

Comments
 (0)
0