22
33namespace Mpociot \ApiDoc \Tests ;
44
5+ use Dingo \Api \Provider \LaravelServiceProvider ;
56use Illuminate \Contracts \Console \Kernel ;
67use Illuminate \Routing \Route ;
78use Mpociot \ApiDoc \ApiDocGeneratorServiceProvider ;
89use Mpociot \ApiDoc \Generators \LaravelGenerator ;
10+ use Mpociot \ApiDoc \Tests \Fixtures \DingoTestController ;
911use Orchestra \Testbench \TestCase ;
1012use Mpociot \ApiDoc \Tests \Fixtures \TestController ;
1113use Illuminate \Support \Facades \Route as RouteFacade ;
@@ -39,7 +41,10 @@ public function tearDown()
3941 */
4042 protected function getPackageProviders ($ app )
4143 {
42- return [ApiDocGeneratorServiceProvider::class];
44+ return [
45+ LaravelServiceProvider::class,
46+ ApiDocGeneratorServiceProvider::class
47+ ];
4348 }
4449
4550 public function testConsoleCommandNeedsAPrefixOrRoute ()
@@ -62,6 +67,24 @@ public function testConsoleCommandDoesNotWorkWithClosure()
6267 $ this ->assertContains ('Processed route: [GET,HEAD] api/test ' , $ output );
6368 }
6469
70+ public function testConsoleCommandDoesNotWorkWithClosureUsingDingo ()
71+ {
72+ $ api = app ('Dingo\Api\Routing\Router ' );
73+ $ api ->version ('v1 ' , function ($ api ) {
74+ $ api ->get ('/closure ' , function () {
75+ return 'foo ' ;
76+ });
77+ $ api ->get ('/test ' , DingoTestController::class.'@parseMethodDescription ' );
78+
79+ $ output = $ this ->artisan ('api:generate ' , [
80+ '--router ' => 'dingo ' ,
81+ '--routePrefix ' => 'v1 ' ,
82+ ]);
83+ $ this ->assertContains ('Skipping route: [GET,HEAD] closure ' , $ output );
84+ $ this ->assertContains ('Processed route: [GET,HEAD] test ' , $ output );
85+ });
86+ }
87+
6588 public function testCanSkipSingleRoutesCommandDoesNotWorkWithClosure ()
6689 {
6790 RouteFacade::get ('/api/skip ' , TestController::class.'@skip ' );
0 commit comments