DingoGeneratorTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Mpociot\ApiDoc\Tests\Unit;
  3. use Dingo\Api\Routing\Router;
  4. use Mpociot\ApiDoc\Tests\Fixtures\TestController;
  5. use Mpociot\ApiDoc\ApiDocGeneratorServiceProvider;
  6. class DingoGeneratorTest extends GeneratorTestCase
  7. {
  8. protected function getPackageProviders($app)
  9. {
  10. return [
  11. ApiDocGeneratorServiceProvider::class,
  12. \Dingo\Api\Provider\LaravelServiceProvider::class,
  13. ];
  14. }
  15. public function setUp(): void
  16. {
  17. parent::setUp();
  18. config(['apidoc.router' => 'dingo']);
  19. }
  20. public function createRoute(string $httpMethod, string $path, string $controllerMethod, $register = false, $class = TestController::class)
  21. {
  22. $route = null;
  23. /** @var Router $api */
  24. $api = app(Router::class);
  25. $api->version('v1', function (Router $api) use ($class, $controllerMethod, $path, $httpMethod, &$route) {
  26. $route = $api->$httpMethod($path, $class."@$controllerMethod");
  27. });
  28. return $route;
  29. }
  30. public function createRouteUsesArray(string $httpMethod, string $path, string $controllerMethod, $register = false, $class = TestController::class)
  31. {
  32. $route = null;
  33. /** @var Router $api */
  34. $api = app(Router::class);
  35. $api->version('v1', function (Router $api) use ($class, $controllerMethod, $path, $httpMethod, &$route) {
  36. $route = $api->$httpMethod($path, [$class, $controllerMethod]);
  37. });
  38. return $route;
  39. }
  40. }