test(api): assert abilities on all database import routes

This commit is contained in:
Andras Bacsai
2026-09-09 13:04:00 +02:00
parent e0dfbaa8b9
commit 344b0dff5e
+12 -5
View File
@@ -3,12 +3,19 @@
use Illuminate\Support\Facades\Route;
test('registers standalone and service database import routes with abilities', function () {
$routes = collect(Route::getRoutes()->getRoutes())->keyBy(fn ($route) => $route->getName());
$routes = collect(Route::getRoutes()->getRoutesByName());
foreach (['api.databases.imports.upload', 'api.databases.imports.store', 'api.databases.imports.show', 'api.service-databases.imports.upload', 'api.service-databases.imports.store', 'api.service-databases.imports.show'] as $name) {
$expected = [
'api.databases.imports.upload' => 'api.ability:deploy',
'api.databases.imports.store' => 'api.ability:deploy',
'api.databases.imports.show' => 'api.ability:read',
'api.service-databases.imports.upload' => 'api.ability:deploy',
'api.service-databases.imports.store' => 'api.ability:deploy',
'api.service-databases.imports.show' => 'api.ability:read',
];
foreach ($expected as $name => $ability) {
expect($routes)->toHaveKey($name);
expect($routes[$name]->gatherMiddleware())->toContain($ability);
}
expect($routes['api.databases.imports.store']->gatherMiddleware())->toContain('api.ability:deploy')
->and($routes['api.databases.imports.show']->gatherMiddleware())->toContain('api.ability:read');
});