File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -1133,6 +1133,43 @@ public function grabParameter(string $name)
11331133 return $ parameterBag ->get ($ name );
11341134 }
11351135
1136+ /**
1137+ * Make sure events fired during the test.
1138+ *
1139+ * ``` php
1140+ * <?php
1141+ * $I->seeEventTriggered('App\MyEvent');
1142+ * $I->seeEventTriggered(new App\Events\MyEvent());
1143+ * $I->seeEventTriggered(['App\MyEvent', 'App\MyOtherEvent']);
1144+ * ```
1145+ * @param string|object|string[] $expected
1146+ */
1147+ public function seeEventTriggered ($ expected )
1148+ {
1149+ $ eventCollector = $ this ->grabCollector ('events ' , __FUNCTION__ );
1150+
1151+ $ data = $ eventCollector ->getCalledListeners ();
1152+
1153+ if ($ data ->count () === 0 ) {
1154+ $ this ->fail ('No event was triggered ' );
1155+ }
1156+
1157+ $ actual = $ data ->getValue (true );
1158+ $ expected = is_array ($ expected ) ? $ expected : [$ expected ];
1159+
1160+ foreach ($ expected as $ expectedEvent ) {
1161+ $ triggered = false ;
1162+ $ expectedEvent = is_object ($ expectedEvent ) ? get_class ($ expectedEvent ) : $ expectedEvent ;
1163+
1164+ foreach ($ actual as $ actualEvent ) {
1165+ if (strpos ($ actualEvent ['pretty ' ], $ expectedEvent ) === 0 ) {
1166+ $ triggered = true ;
1167+ }
1168+ }
1169+ $ this ->assertTrue ($ triggered , "The ' $ expectedEvent' event did not trigger " );
1170+ }
1171+ }
1172+
11361173 /**
11371174 * Checks that current page matches action
11381175 *
You can’t perform that action at this time.
0 commit comments