1313
1414trait EventsAssertionsTrait
1515{
16+ /**
17+ * Verifies that one or more orphan events were not dispatched during the test.
18+ *
19+ * An orphan event is an event that is triggered by manually executing the
20+ * [`dispatch()`](https://symfony.com/doc/current/components/event_dispatcher.html#dispatch-the-event) method
21+ * of the EventDispatcher, in other words, it is an event that is not handled by any listener.
22+ *
23+ * ```php
24+ * <?php
25+ * $I->dontSeeOrphanEventTriggered('App\MyEvent');
26+ * $I->dontSeeOrphanEventTriggered(new App\Events\MyEvent());
27+ * $I->dontSeeOrphanEventTriggered(['App\MyEvent', 'App\MyOtherEvent']);
28+ * ```
29+ *
30+ * @param string|object|string[] $expected
31+ */
32+ public function dontSeeOrphanEventTriggered ($ expected ): void
33+ {
34+ $ eventCollector = $ this ->grabEventCollector (__FUNCTION__ );
35+
36+ /** @var Data $data */
37+ $ data = $ eventCollector ->getOrphanedEvents ();
38+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
39+
40+ $ this ->assertEventNotTriggered ($ data , $ expected );
41+ }
42+
1643 /**
1744 * Verifies that one or more event listeners were not called during the test.
1845 *
@@ -36,6 +63,33 @@ public function dontSeeEventTriggered($expected): void
3663 $ this ->assertEventNotTriggered ($ data , $ expected );
3764 }
3865
66+ /**
67+ * Verifies that one or more orphan events were dispatched during the test.
68+ *
69+ * An orphan event is an event that is triggered by manually executing the
70+ * [`dispatch()`](https://symfony.com/doc/current/components/event_dispatcher.html#dispatch-the-event) method
71+ * of the EventDispatcher, in other words, it is an event that is not handled by any listener.
72+ *
73+ * ```php
74+ * <?php
75+ * $I->seeOrphanEventTriggered('App\MyEvent');
76+ * $I->seeOrphanEventTriggered(new App\Events\MyEvent());
77+ * $I->seeOrphanEventTriggered(['App\MyEvent', 'App\MyOtherEvent']);
78+ * ```
79+ *
80+ * @param string|object|string[] $expected
81+ */
82+ public function seeOrphanEventTriggered ($ expected ): void
83+ {
84+ $ eventCollector = $ this ->grabEventCollector (__FUNCTION__ );
85+
86+ /** @var Data $data */
87+ $ data = $ eventCollector ->getOrphanedEvents ();
88+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
89+
90+ $ this ->assertEventTriggered ($ data , $ expected );
91+ }
92+
3993 /**
4094 * Verifies that one or more event listeners were called during the test.
4195 *
0 commit comments