@@ -46,7 +46,7 @@ public function dontSeeOrphanEvent(array|object|string $expected = null): void
46
46
}
47
47
48
48
/**
49
- * Verifies that one or more event listeners were not called during the test.
49
+ * Verifies that one or more events were not dispatched during the test.
50
50
*
51
51
* ```php
52
52
* <?php
@@ -58,7 +58,7 @@ public function dontSeeOrphanEvent(array|object|string $expected = null): void
58
58
* @param object|string|string[] $expected
59
59
* @deprecated Use `dontSeeEventListenerIsCalled()` instead.
60
60
*/
61
- public function dontSeeEventTriggered (array |object |string $ expected ): void
61
+ public function dontSeeEvent (array |object |string $ expected ): void
62
62
{
63
63
trigger_error ('dontSeeEventTriggered is deprecated, please use dontSeeEventListenerIsCalled instead ' , E_USER_DEPRECATED );
64
64
$ this ->dontSeeEventListenerIsCalled ($ expected );
@@ -87,6 +87,47 @@ public function dontSeeEventListenerIsCalled(array|object|string $expected): voi
87
87
$ this ->assertEventNotTriggered ($ data , $ expected );
88
88
}
89
89
90
+ /**
91
+ * Verifies that one or more event listeners were not called during the test.
92
+ *
93
+ * ```php
94
+ * <?php
95
+ * $I->dontSeeEventTriggered('App\MyEventSubscriber');
96
+ * $I->dontSeeEventTriggered(new App\Events\MyEventSubscriber());
97
+ * $I->dontSeeEventTriggered(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
98
+ * ```
99
+ *
100
+ * @param object|string|string[] $expected
101
+ * @deprecated Use `dontSeeEventListenerCalled` instead.
102
+ */
103
+ public function dontSeeEventTriggered (array |object |string $ expected ): void
104
+ {
105
+ $ this ->dontSeeEventListenerCalled ($ expected );
106
+ }
107
+
108
+ /**
109
+ * Verifies that one or more event listeners were not called during the test.
110
+ *
111
+ * ```php
112
+ * <?php
113
+ * $I->dontSeeEventListenerCalled('App\MyEventSubscriber');
114
+ * $I->dontSeeEventListenerCalled(new App\Events\MyEventSubscriber());
115
+ * $I->dontSeeEventListenerCalled(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
116
+ * ```
117
+ *
118
+ * @param object|string|string[] $expected
119
+ */
120
+ public function dontSeeEventListenerCalled (array |object |string $ expected ): void
121
+ {
122
+ $ eventCollector = $ this ->grabEventCollector (__FUNCTION__ );
123
+
124
+ /** @var Data $data */
125
+ $ data = $ eventCollector ->getCalledListeners ();
126
+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
127
+
128
+ $ this ->assertListenerNotCalled ($ data , $ expected );
129
+ }
130
+
90
131
/**
91
132
* Verifies that one or more orphan events were dispatched during the test.
92
133
*
@@ -115,19 +156,19 @@ public function seeOrphanEvent(array|object|string $expected): void
115
156
}
116
157
117
158
/**
118
- * Verifies that one or more event listeners were called during the test.
159
+ * Verifies that one or more events were dispatched during the test.
119
160
*
120
161
* ```php
121
162
* <?php
122
- * $I->seeEventTriggered ('App\MyEvent');
123
- * $I->seeEventTriggered (new App\Events\MyEvent());
124
- * $I->seeEventTriggered (['App\MyEvent', 'App\MyOtherEvent']);
163
+ * $I->seeEvent ('App\MyEvent');
164
+ * $I->seeEvent (new App\Events\MyEvent());
165
+ * $I->seeEvent (['App\MyEvent', 'App\MyOtherEvent']);
125
166
* ```
126
167
*
127
168
* @param object|string|string[] $expected
128
169
* @deprecated Use `seeEventListenerIsCalled()` instead.
129
170
*/
130
- public function seeEventTriggered (array |object |string $ expected ): void
171
+ public function seeEvent (array |object |string $ expected ): void
131
172
{
132
173
trigger_error ('seeEventTriggered is deprecated, please use seeEventListenerIsCalled instead ' , E_USER_DEPRECATED );
133
174
$ this ->seeEventListenerIsCalled ($ expected );
@@ -156,6 +197,47 @@ public function seeEventListenerIsCalled(array|object|string $expected): void
156
197
$ this ->assertEventTriggered ($ data , $ expected );
157
198
}
158
199
200
+ /**
201
+ * Verifies that one or more event listeners were called during the test.
202
+ *
203
+ * ```php
204
+ * <?php
205
+ * $I->seeEventTriggered('App\MyEventSubscriber');
206
+ * $I->seeEventTriggered(new App\Events\MyEventSubscriber());
207
+ * $I->seeEventTriggered(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
208
+ * ```
209
+ *
210
+ * @param object|string|string[] $expected
211
+ * @deprecated Use `seeEventListenerCalled` instead.
212
+ */
213
+ public function seeEventTriggered (array |object |string $ expected ): void
214
+ {
215
+ $ this ->seeEventListenerCalled ($ expected );
216
+ }
217
+
218
+ /**
219
+ * Verifies that one or more event listeners were called during the test.
220
+ *
221
+ * ```php
222
+ * <?php
223
+ * $I->seeEventListenerCalled('App\MyEventSubscriber');
224
+ * $I->seeEventListenerCalled(new App\Events\MyEventSubscriber());
225
+ * $I->seeEventListenerCalled(['App\MyEventSubscriber', 'App\MyOtherEventSubscriber']);
226
+ * ```
227
+ *
228
+ * @param object|string|string[] $expected
229
+ */
230
+ public function seeEventListenerCalled (array |object |string $ expected ): void
231
+ {
232
+ $ eventCollector = $ this ->grabEventCollector (__FUNCTION__ );
233
+
234
+ /** @var Data $data */
235
+ $ data = $ eventCollector ->getCalledListeners ();
236
+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
237
+
238
+ $ this ->assertListenerCalled ($ data , $ expected );
239
+ }
240
+
159
241
protected function assertEventNotTriggered (Data $ data , array $ expected ): void
160
242
{
161
243
$ actual = $ data ->getValue (true );
@@ -169,6 +251,19 @@ protected function assertEventNotTriggered(Data $data, array $expected): void
169
251
}
170
252
}
171
253
254
+ protected function assertListenerNotCalled (Data $ data , array $ expected ): void
255
+ {
256
+ $ actual = $ data ->getValue (true );
257
+
258
+ foreach ($ expected as $ expectedListener ) {
259
+ $ expectedListener = is_object ($ expectedListener ) ? $ expectedListener ::class : $ expectedListener ;
260
+ $ this ->assertFalse (
261
+ $ this ->listenerWasCalled ($ actual , (string )$ expectedListener ),
262
+ "The ' {$ expectedListener }' listener was called "
263
+ );
264
+ }
265
+ }
266
+
172
267
protected function assertEventTriggered (Data $ data , array $ expected ): void
173
268
{
174
269
if ($ data ->count () === 0 ) {
@@ -186,22 +281,49 @@ protected function assertEventTriggered(Data $data, array $expected): void
186
281
}
187
282
}
188
283
189
- protected function eventWasTriggered ( array $ actual , string $ expectedEvent ): bool
284
+ protected function assertListenerCalled ( Data $ data , array $ expected ): void
190
285
{
191
- $ triggered = false ;
286
+ if ($ data ->count () === 0 ) {
287
+ $ this ->fail ('No listener was called ' );
288
+ }
192
289
290
+ $ actual = $ data ->getValue (true );
291
+
292
+ foreach ($ expected as $ expectedListener ) {
293
+ $ expectedListener = is_object ($ expectedListener ) ? $ expectedListener ::class : $ expectedListener ;
294
+ $ this ->assertTrue (
295
+ $ this ->listenerWasCalled ($ actual , (string ) $ expectedListener ),
296
+ "The ' {$ expectedListener }' listener was not called "
297
+ );
298
+ }
299
+ }
300
+
301
+ protected function eventWasTriggered (array $ actual , string $ expectedEvent ): bool
302
+ {
193
303
foreach ($ actual as $ actualEvent ) {
194
304
if (is_array ($ actualEvent )) { // Called Listeners
195
- if (str_starts_with ( $ actualEvent ['pretty ' ], $ expectedEvent) ) {
196
- $ triggered = true ;
305
+ if ($ actualEvent ['event ' ] === $ expectedEvent ) {
306
+ return true ;
197
307
}
198
308
} else { // Orphan Events
199
309
if ($ actualEvent === $ expectedEvent ) {
200
- $ triggered = true ;
310
+ return true ;
201
311
}
202
312
}
203
313
}
204
- return $ triggered ;
314
+
315
+ return false ;
316
+ }
317
+
318
+ protected function listenerWasCalled (array $ actual , string $ expectedListener ): bool
319
+ {
320
+ foreach ($ actual as $ actualEvent ) {
321
+ if (str_starts_with ($ actualEvent ['pretty ' ], $ expectedListener )) {
322
+ return true ;
323
+ }
324
+ }
325
+
326
+ return false ;
205
327
}
206
328
207
329
protected function grabEventCollector (string $ function ): EventDataCollector
0 commit comments