batyukovstudio / apiato-swagger-generator
Swagger docs generator for Apiato
1.0.4
2024-12-04 10:21 UTC
Requires
- php: >=8.1
- laravel/framework: ^10.0
Requires (Dev)
- phpdocumentor/reflection-docblock: ^3.0|^4.0|^5.0
- phpunit/phpunit: ^10.0
README
Requirements
- PHP 8.1+
- Laravel 10+
- Apiato 10+
- PHPUnit 10+
Installation
To install the package via composer, Run:
composer require batyukovstudio/apiato-swagger-generator
Usage
Generate documentation base:
php artisan swagger:generate
Run tests
php artisan test
Tests integration
- Setup PHPUnit with apiato: https://apiato.io/docs/components/optional-components/tests/
- Include Batyukovstudio\ApiatoSwaggerGenerator\PhpUnitExtension extension (see phpunit.example.test)
<extensions> <bootstrap class="Batyukovstudio\ApiatoSwaggerGenerator\PhpUnitExtension"> </bootstrap> </extensions>
- Register global middleware in your main Kernel class (HttpKernel in Apiato)
use Batyukovstudio\ApiatoSwaggerGenerator\Middlewares\SwaggerGeneratorMiddleware; class HttpKernel extends LaravelHttpKernel { protected $middleware = [ // Laravel middlewares SwaggerGeneratorMiddleware::class, // other middlewares ]; }
- Import trait to your parent TestCase to enable recording test responses
use Batyukovstudio\ApiatoSwaggerGenerator\Traits\CanRecordTestResponses; class YourParentTestCase extends AbstractTestCase { use CanRecordTestResponses; }
- Add function
hasAdminRole: bool
to User model
public function hasAdminRole(): bool { return $this->hasRole(config('appSection-authorization.admin_role')); }
- Enjoy it 😇😇😇