181
181
});
182
182
183
183
// Create a model class that uses HasUniqueUrls trait
184
- $ modelClass = new class () extends \Illuminate \Database \Eloquent \Model {
185
- use \Vlados \LaravelUniqueUrls \HasUniqueUrls;
186
-
187
- protected $ table = 'models_with_url_column ' ;
188
- protected $ guarded = [];
189
- public $ timestamps = false ;
190
-
191
- public function urlHandler (): array
192
- {
193
- return [
194
- 'controller ' => \Vlados \LaravelUniqueUrls \Tests \TestUrlHandler::class,
195
- 'method ' => 'view ' ,
196
- 'arguments ' => [],
197
- ];
198
- }
184
+ // The exception should be thrown during model instantiation
185
+ expect (function () {
186
+ $ modelClass = new class () extends \Illuminate \Database \Eloquent \Model {
187
+ use \Vlados \LaravelUniqueUrls \HasUniqueUrls;
188
+
189
+ protected $ table = 'models_with_url_column ' ;
190
+ protected $ guarded = [];
191
+ public $ timestamps = false ;
192
+
193
+ public function urlHandler (): array
194
+ {
195
+ return [
196
+ 'controller ' => \Vlados \LaravelUniqueUrls \Tests \TestUrlHandler::class,
197
+ 'method ' => 'view ' ,
198
+ 'arguments ' => [],
199
+ ];
200
+ }
199
201
200
- public function urlStrategy ($ language , $ locale ): string
201
- {
202
- return \Illuminate \Support \Str::slug ($ this ->name );
203
- }
204
- };
202
+ public function urlStrategy ($ language , $ locale ): string
203
+ {
204
+ return \Illuminate \Support \Str::slug ($ this ->name );
205
+ }
206
+ };
205
207
206
- expect ( fn () => $ modelClass ::create (['name ' => 'test ' , 'url ' => 'test-url ' ]))
207
- ->toThrow (Exception::class, "has a conflicting column 'url' " );
208
+ $ modelClass ::create (['name ' => 'test ' , 'url ' => 'test-url ' ]);
209
+ }) ->toThrow (Exception::class, "has a conflicting column 'url' " );
208
210
209
211
Schema::dropIfExists ('models_with_url_column ' );
210
212
});
@@ -218,30 +220,32 @@ public function urlStrategy($language, $locale): string
218
220
});
219
221
220
222
// Create a model class that uses HasUniqueUrls trait
221
- $ modelClass = new class () extends \Illuminate \Database \Eloquent \Model {
222
- use \Vlados \LaravelUniqueUrls \HasUniqueUrls;
223
-
224
- protected $ table = 'models_with_urls_column ' ;
225
- protected $ guarded = [];
226
- public $ timestamps = false ;
227
-
228
- public function urlHandler (): array
229
- {
230
- return [
231
- 'controller ' => \Vlados \LaravelUniqueUrls \Tests \TestUrlHandler::class,
232
- 'method ' => 'view ' ,
233
- 'arguments ' => [],
234
- ];
235
- }
223
+ // The exception should be thrown during model instantiation
224
+ expect (function () {
225
+ $ modelClass = new class () extends \Illuminate \Database \Eloquent \Model {
226
+ use \Vlados \LaravelUniqueUrls \HasUniqueUrls;
227
+
228
+ protected $ table = 'models_with_urls_column ' ;
229
+ protected $ guarded = [];
230
+ public $ timestamps = false ;
231
+
232
+ public function urlHandler (): array
233
+ {
234
+ return [
235
+ 'controller ' => \Vlados \LaravelUniqueUrls \Tests \TestUrlHandler::class,
236
+ 'method ' => 'view ' ,
237
+ 'arguments ' => [],
238
+ ];
239
+ }
236
240
237
- public function urlStrategy ($ language , $ locale ): string
238
- {
239
- return \Illuminate \Support \Str::slug ($ this ->name );
240
- }
241
- };
241
+ public function urlStrategy ($ language , $ locale ): string
242
+ {
243
+ return \Illuminate \Support \Str::slug ($ this ->name );
244
+ }
245
+ };
242
246
243
- expect ( fn () => $ modelClass ::create (['name ' => 'test ' , 'urls ' => 'test-urls ' ]))
244
- ->toThrow (Exception::class, "has a conflicting column 'urls' " );
247
+ $ modelClass ::create (['name ' => 'test ' , 'urls ' => 'test-urls ' ]);
248
+ }) ->toThrow (Exception::class, "has a conflicting column 'urls' " );
245
249
246
250
Schema::dropIfExists ('models_with_urls_column ' );
247
251
});
0 commit comments