13
13
14
14
trait EventsAssertionsTrait
15
15
{
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
+
16
43
/**
17
44
* Verifies that one or more event listeners were not called during the test.
18
45
*
@@ -36,6 +63,33 @@ public function dontSeeEventTriggered($expected): void
36
63
$ this ->assertEventNotTriggered ($ data , $ expected );
37
64
}
38
65
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
+
39
93
/**
40
94
* Verifies that one or more event listeners were called during the test.
41
95
*
0 commit comments