@@ -43,7 +43,7 @@ public function dontSeeOrphanEvent(array|object|string $expected = null): void
4343 }
4444
4545 /**
46- * Verifies that one or more event listeners were not called during the test.
46+ * Verifies that one or more events were not dispatched during the test.
4747 *
4848 * ```php
4949 * <?php
@@ -55,7 +55,7 @@ public function dontSeeOrphanEvent(array|object|string $expected = null): void
5555 * @param object|string|string[] $expected
5656 * @deprecated Use `dontSeeEventListenerIsCalled()` instead.
5757 */
58- public function dontSeeEventTriggered (array |object |string $ expected ): void
58+ public function dontSeeEvent (array |object |string $ expected ): void
5959 {
6060 trigger_error ('dontSeeEventTriggered is deprecated, please use dontSeeEventListenerIsCalled instead ' , E_USER_DEPRECATED );
6161 $ this ->dontSeeEventListenerIsCalled ($ expected );
@@ -83,6 +83,47 @@ public function dontSeeEventListenerIsCalled(array|object|string $expected): voi
8383 $ this ->assertEventNotTriggered ($ data , $ expected );
8484 }
8585
86+ /**
87+ * Verifies that one or more event listeners were not called during the test.
88+ *
89+ * ```php
90+ * <?php
91+ * $I->dontSeeEventTriggered('App\MyEventSubscriber');
92+ * $I->dontSeeEventTriggered(new App\Events\MyEventSubscriber());
93+ * $I->dontSeeEventTriggered(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
94+ * ```
95+ *
96+ * @param object|string|string[] $expected
97+ * @deprecated Use `dontSeeEventListenerCalled` instead.
98+ */
99+ public function dontSeeEventTriggered (array |object |string $ expected ): void
100+ {
101+ $ this ->dontSeeEventListenerCalled ($ expected );
102+ }
103+
104+ /**
105+ * Verifies that one or more event listeners were not called during the test.
106+ *
107+ * ```php
108+ * <?php
109+ * $I->dontSeeEventListenerCalled('App\MyEventSubscriber');
110+ * $I->dontSeeEventListenerCalled(new App\Events\MyEventSubscriber());
111+ * $I->dontSeeEventListenerCalled(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
112+ * ```
113+ *
114+ * @param object|string|string[] $expected
115+ */
116+ public function dontSeeEventListenerCalled (array |object |string $ expected ): void
117+ {
118+ $ eventCollector = $ this ->grabEventCollector (__FUNCTION__ );
119+
120+ /** @var Data $data */
121+ $ data = $ eventCollector ->getCalledListeners ();
122+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
123+
124+ $ this ->assertListenerNotCalled ($ data , $ expected );
125+ }
126+
86127 /**
87128 * Verifies that one or more orphan events were dispatched during the test.
88129 *
@@ -110,19 +151,19 @@ public function seeOrphanEvent(array|object|string $expected): void
110151 }
111152
112153 /**
113- * Verifies that one or more event listeners were called during the test.
154+ * Verifies that one or more events were dispatched during the test.
114155 *
115156 * ```php
116157 * <?php
117- * $I->seeEventTriggered ('App\MyEvent');
118- * $I->seeEventTriggered (new App\Events\MyEvent());
119- * $I->seeEventTriggered (['App\MyEvent', 'App\MyOtherEvent']);
158+ * $I->seeEvent ('App\MyEvent');
159+ * $I->seeEvent (new App\Events\MyEvent());
160+ * $I->seeEvent (['App\MyEvent', 'App\MyOtherEvent']);
120161 * ```
121162 *
122163 * @param object|string|string[] $expected
123164 * @deprecated Use `seeEventListenerIsCalled()` instead.
124165 */
125- public function seeEventTriggered (array |object |string $ expected ): void
166+ public function seeEvent (array |object |string $ expected ): void
126167 {
127168 trigger_error ('seeEventTriggered is deprecated, please use seeEventListenerIsCalled instead ' , E_USER_DEPRECATED );
128169 $ this ->seeEventListenerIsCalled ($ expected );
@@ -150,6 +191,47 @@ public function seeEventListenerIsCalled(array|object|string $expected): void
150191 $ this ->assertEventTriggered ($ data , $ expected );
151192 }
152193
194+ /**
195+ * Verifies that one or more event listeners were called during the test.
196+ *
197+ * ```php
198+ * <?php
199+ * $I->seeEventTriggered('App\MyEventSubscriber');
200+ * $I->seeEventTriggered(new App\Events\MyEventSubscriber());
201+ * $I->seeEventTriggered(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
202+ * ```
203+ *
204+ * @param object|string|string[] $expected
205+ * @deprecated Use `seeEventListenerCalled` instead.
206+ */
207+ public function seeEventTriggered (array |object |string $ expected ): void
208+ {
209+ $ this ->seeEventListenerCalled ($ expected );
210+ }
211+
212+ /**
213+ * Verifies that one or more event listeners were called during the test.
214+ *
215+ * ```php
216+ * <?php
217+ * $I->seeEventListenerCalled('App\MyEventSubscriber');
218+ * $I->seeEventListenerCalled(new App\Events\MyEventSubscriber());
219+ * $I->seeEventListenerCalled(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
220+ * ```
221+ *
222+ * @param object|string|string[] $expected
223+ */
224+ public function seeEventListenerCalled (array |object |string $ expected ): void
225+ {
226+ $ eventCollector = $ this ->grabEventCollector (__FUNCTION__ );
227+
228+ /** @var Data $data */
229+ $ data = $ eventCollector ->getCalledListeners ();
230+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
231+
232+ $ this ->assertListenerCalled ($ data , $ expected );
233+ }
234+
153235 protected function assertEventNotTriggered (Data $ data , array $ expected ): void
154236 {
155237 $ actual = $ data ->getValue (true );
@@ -163,6 +245,19 @@ protected function assertEventNotTriggered(Data $data, array $expected): void
163245 }
164246 }
165247
248+ protected function assertListenerNotCalled (Data $ data , array $ expected ): void
249+ {
250+ $ actual = $ data ->getValue (true );
251+
252+ foreach ($ expected as $ expectedListener ) {
253+ $ expectedListener = is_object ($ expectedListener ) ? $ expectedListener ::class : $ expectedListener ;
254+ $ this ->assertFalse (
255+ $ this ->listenerWasCalled ($ actual , (string )$ expectedListener ),
256+ "The ' {$ expectedListener }' listener was called "
257+ );
258+ }
259+ }
260+
166261 protected function assertEventTriggered (Data $ data , array $ expected ): void
167262 {
168263 if ($ data ->count () === 0 ) {
@@ -180,22 +275,49 @@ protected function assertEventTriggered(Data $data, array $expected): void
180275 }
181276 }
182277
183- protected function eventWasTriggered ( array $ actual , string $ expectedEvent ): bool
278+ protected function assertListenerCalled ( Data $ data , array $ expected ): void
184279 {
185- $ triggered = false ;
280+ if ($ data ->count () === 0 ) {
281+ $ this ->fail ('No listener was called ' );
282+ }
186283
284+ $ actual = $ data ->getValue (true );
285+
286+ foreach ($ expected as $ expectedListener ) {
287+ $ expectedListener = is_object ($ expectedListener ) ? $ expectedListener ::class : $ expectedListener ;
288+ $ this ->assertTrue (
289+ $ this ->listenerWasCalled ($ actual , (string ) $ expectedListener ),
290+ "The ' {$ expectedListener }' listener was not called "
291+ );
292+ }
293+ }
294+
295+ protected function eventWasTriggered (array $ actual , string $ expectedEvent ): bool
296+ {
187297 foreach ($ actual as $ actualEvent ) {
188298 if (is_array ($ actualEvent )) { // Called Listeners
189- if (str_starts_with ( $ actualEvent ['pretty ' ], $ expectedEvent) ) {
190- $ triggered = true ;
299+ if ($ actualEvent ['event ' ] === $ expectedEvent ) {
300+ return true ;
191301 }
192302 } else { // Orphan Events
193303 if ($ actualEvent === $ expectedEvent ) {
194- $ triggered = true ;
304+ return true ;
195305 }
196306 }
197307 }
198- return $ triggered ;
308+
309+ return false ;
310+ }
311+
312+ protected function listenerWasCalled (array $ actual , string $ expectedListener ): bool
313+ {
314+ foreach ($ actual as $ actualEvent ) {
315+ if (str_starts_with ($ actualEvent ['pretty ' ], $ expectedListener )) {
316+ return true ;
317+ }
318+ }
319+
320+ return false ;
199321 }
200322
201323 protected function grabEventCollector (string $ function ): EventDataCollector
0 commit comments