File tree 1 file changed +37
-0
lines changed
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)
1133
1133
return $ parameterBag ->get ($ name );
1134
1134
}
1135
1135
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
+
1136
1173
/**
1137
1174
* Checks that current page matches action
1138
1175
*
You can’t perform that action at this time.
0 commit comments