11<?php
22
3+ use Illuminate \Foundation \Http \FormRequest ;
34use Illuminate \Routing \Controller ;
45use Illuminate \Routing \Route ;
56use Mpociot \ApiDoc \ApiDocGenerator ;
@@ -55,6 +56,21 @@ public function testCanParseRouteMethods()
5556 $ this ->assertEquals (['DELETE ' ], $ parsed ['methods ' ]);
5657 }
5758
59+ public function testCanParseFormRequestRules ()
60+ {
61+ \Illuminate \Support \Facades \Route::post ('/post ' , 'TestController@parseFormRequestRules ' );
62+ $ route = new Route (['POST ' ], '/post ' , ['uses ' => 'TestController@parseFormRequestRules ' ]);
63+ $ parsed = $ this ->generator ->processRoute ($ route );
64+ $ parameters = $ parsed ['parameters ' ];
65+ $ this ->assertArrayHasKey ('required_attribute ' , $ parameters );
66+
67+ $ required_attribute = $ parameters ['required_attribute ' ];
68+
69+ $ this ->assertTrue ( $ required_attribute ['required ' ] );
70+ $ this ->assertEquals ( 'string ' , $ required_attribute ['type ' ] );
71+ $ this ->assertCount ( 0 , $ required_attribute ['description ' ] );
72+ }
73+
5874}
5975
6076class TestController extends Controller
@@ -76,4 +92,19 @@ public function parseMethodDescription()
7692 return '' ;
7793 }
7894
95+ public function parseFormRequestRules (TestRequest $ request )
96+ {
97+ return '' ;
98+ }
99+
100+ }
101+
102+ class TestRequest extends FormRequest
103+ {
104+ public function rules ()
105+ {
106+ return [
107+ 'required_attribute ' => 'required '
108+ ];
109+ }
79110}
0 commit comments