Skip to content

Commit 88652fc

Browse files
committed
onFlush and postFlush Entity Listener Tests
Ensure onFlush and postFlush Entity Listeners attach properly.
1 parent 9c309f1 commit 88652fc

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

tests/Doctrine/Tests/ORM/Tools/AttachEntityListenersListenerTest.php

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,29 @@ public function testAttachToExistingEntityListeners()
6969
'postPersistHandler'
7070
);
7171

72+
$this->listener->addEntityListener(
73+
AttachEntityListenersListenerTestBarEntity::class,
74+
AttachEntityListenersListenerTestListener2::class,
75+
Events::onFlush
76+
);
77+
78+
$this->listener->addEntityListener(
79+
AttachEntityListenersListenerTestBarEntity::class,
80+
AttachEntityListenersListenerTestListener2::class,
81+
Events::postFlush
82+
);
83+
7284
$metadata = $this->factory->getMetadataFor(AttachEntityListenersListenerTestBarEntity::class);
7385

7486
$this->assertArrayHasKey('postPersist', $metadata->entityListeners);
7587
$this->assertArrayHasKey('prePersist', $metadata->entityListeners);
88+
$this->assertArrayHasKey('onFlush', $metadata->entityListeners);
89+
$this->assertArrayHasKey('postFlush', $metadata->entityListeners);
7690

7791
$this->assertCount(2, $metadata->entityListeners['prePersist']);
7892
$this->assertCount(2, $metadata->entityListeners['postPersist']);
93+
$this->assertCount(2, $metadata->entityListeners['onFlush']);
94+
$this->assertCount(2, $metadata->entityListeners['postFlush']);
7995

8096
$this->assertEquals('prePersist', $metadata->entityListeners['prePersist'][0]['method']);
8197
$this->assertEquals(AttachEntityListenersListenerTestListener::class, $metadata->entityListeners['prePersist'][0]['class']);
@@ -88,6 +104,18 @@ public function testAttachToExistingEntityListeners()
88104

89105
$this->assertEquals('postPersistHandler', $metadata->entityListeners['postPersist'][1]['method']);
90106
$this->assertEquals(AttachEntityListenersListenerTestListener2::class, $metadata->entityListeners['postPersist'][1]['class']);
107+
108+
$this->assertEquals('onFlush', $metadata->entityListeners['onFlush'][0]['method']);
109+
$this->assertEquals(AttachEntityListenersListenerTestListener::class, $metadata->entityListeners['onFlush'][0]['class']);
110+
111+
$this->assertEquals('onFlush', $metadata->entityListeners['onFlush'][1]['method']);
112+
$this->assertEquals(AttachEntityListenersListenerTestListener2::class, $metadata->entityListeners['onFlush'][1]['class']);
113+
114+
$this->assertEquals('postFlush', $metadata->entityListeners['postFlush'][0]['method']);
115+
$this->assertEquals(AttachEntityListenersListenerTestListener::class, $metadata->entityListeners['postFlush'][0]['class']);
116+
117+
$this->assertEquals('postFlush', $metadata->entityListeners['postFlush'][1]['method']);
118+
$this->assertEquals(AttachEntityListenersListenerTestListener2::class, $metadata->entityListeners['postFlush'][1]['class']);
91119
}
92120

93121
/**
@@ -108,6 +136,18 @@ public function testDuplicateEntityListenerException()
108136
Events::postPersist
109137
);
110138

139+
$this->listener->addEntityListener(
140+
AttachEntityListenersListenerTestFooEntity::class,
141+
AttachEntityListenersListenerTestListener::class,
142+
Events::onFlush
143+
);
144+
145+
$this->listener->addEntityListener(
146+
AttachEntityListenersListenerTestFooEntity::class,
147+
AttachEntityListenersListenerTestListener::class,
148+
Events::postFlush
149+
);
150+
111151
$this->factory->getMetadataFor(AttachEntityListenersListenerTestFooEntity::class);
112152
}
113153
}
@@ -157,6 +197,16 @@ public function postPersist()
157197
{
158198
$this->calls[__FUNCTION__][] = func_get_args();
159199
}
200+
201+
public function onFlush()
202+
{
203+
$this->calls[__FUNCTION__][] = func_get_args();
204+
}
205+
206+
public function postFlush()
207+
{
208+
$this->calls[__FUNCTION__][] = func_get_args();
209+
}
160210
}
161211

162212
class AttachEntityListenersListenerTestListener2
@@ -172,4 +222,14 @@ public function postPersistHandler()
172222
{
173223
$this->calls[__FUNCTION__][] = func_get_args();
174224
}
225+
226+
public function onFlush()
227+
{
228+
$this->calls[__FUNCTION__][] = func_get_args();
229+
}
230+
231+
public function postFlush()
232+
{
233+
$this->calls[__FUNCTION__][] = func_get_args();
234+
}
175235
}

0 commit comments

Comments
 (0)