@@ -17,6 +17,9 @@ protected function setUp(): void
1717 $ router ->get ('users/{user} ' , function (User $ user ) {
1818 return '' ;
1919 })->name ('users ' );
20+ $ router ->get ('admins/{admin} ' , function (Admin $ admin ) {
21+ return '' ;
22+ })->name ('admins ' );
2023 $ router ->get ('tags/{tag} ' , function (Tag $ tag ) {
2124 return '' ;
2225 })->name ('tags ' );
@@ -58,6 +61,22 @@ public function can_register_implicit_route_model_bindings()
5861 $ this ->assertSame ($ expected , (new Ziggy )->filter ('users ' )->toArray ()['routes ' ]);
5962 }
6063
64+ /** @test */
65+ public function register_inherited_custom_route_key_name ()
66+ {
67+ $ expected = [
68+ 'admins ' => [
69+ 'uri ' => 'admins/{admin} ' ,
70+ 'methods ' => ['GET ' , 'HEAD ' ],
71+ 'bindings ' => [
72+ 'admin ' => 'uuid ' ,
73+ ],
74+ ],
75+ ];
76+
77+ $ this ->assertSame ($ expected , (new Ziggy )->filter ('admins ' )->toArray ()['routes ' ]);
78+ }
79+
6180 /** @test */
6281 public function can_ignore_route_parameters_not_bound_to_eloquent_models ()
6382 {
@@ -139,6 +158,13 @@ public function can_merge_implicit_and_scoped_bindings()
139158 'user ' => 'uuid ' ,
140159 ],
141160 ],
161+ 'admins ' => [
162+ 'uri ' => 'admins/{admin} ' ,
163+ 'methods ' => ['GET ' , 'HEAD ' ],
164+ 'bindings ' => [
165+ 'admin ' => 'uuid ' ,
166+ ],
167+ ],
142168 'tags ' => [
143169 'uri ' => 'tags/{tag} ' ,
144170 'methods ' => ['GET ' , 'HEAD ' ],
@@ -188,7 +214,7 @@ public function can_include_bindings_in_json()
188214 $ this ->markTestSkipped ('Requires Laravel >=7 ' );
189215 }
190216
191- $ json = '{"url":"http:\/\/ziggy.dev","port":null,"defaults":{},"routes":{"users":{"uri":"users\/{user}","methods":["GET","HEAD"],"bindings":{"user":"uuid"}},"tags":{"uri":"tags\/{tag}","methods":["GET","HEAD"],"bindings":{"tag":"id"}},"tokens":{"uri":"tokens\/{token}","methods":["GET","HEAD"]},"users.numbers":{"uri":"users\/{user}\/{number}","methods":["GET","HEAD"],"bindings":{"user":"uuid"}},"users.store":{"uri":"users","methods":["POST"]},"posts":{"uri":"blog\/{category}\/{post}","methods":["GET","HEAD"],"bindings":{"category":"id","post":"slug"}},"posts.tags":{"uri":"blog\/{category}\/{post}\/{tag}","methods":["GET","HEAD"],"bindings":{"category":"id","post":"slug","tag":"slug"}}}} ' ;
217+ $ json = '{"url":"http:\/\/ziggy.dev","port":null,"defaults":{},"routes":{"users":{"uri":"users\/{user}","methods":["GET","HEAD"],"bindings":{"user":"uuid"}},"admins":{"uri":"admins\/{admin}","methods":["GET","HEAD"],"bindings":{"admin":"uuid"}}," tags":{"uri":"tags\/{tag}","methods":["GET","HEAD"],"bindings":{"tag":"id"}},"tokens":{"uri":"tokens\/{token}","methods":["GET","HEAD"]},"users.numbers":{"uri":"users\/{user}\/{number}","methods":["GET","HEAD"],"bindings":{"user":"uuid"}},"users.store":{"uri":"users","methods":["POST"]},"posts":{"uri":"blog\/{category}\/{post}","methods":["GET","HEAD"],"bindings":{"category":"id","post":"slug"}},"posts.tags":{"uri":"blog\/{category}\/{post}\/{tag}","methods":["GET","HEAD"],"bindings":{"category":"id","post":"slug","tag":"slug"}}}} ' ;
192218
193219 $ this ->assertSame ($ json , (new Ziggy )->toJson ());
194220 }
@@ -256,3 +282,8 @@ public static function boot()
256282 static ::$ wasBooted = true ;
257283 }
258284}
285+
286+ class Admin extends User
287+ {
288+ //
289+ }
0 commit comments