Files
portal/app/tests/Feature/Admin/AdminConnectionMiddlewareWiringTest.php
T
Дмитрий b38fe0c875 feat(админка): admin-db middleware в группе saas-admin + SharesAdminPdo для тестов
bootstrap: alias admin-db=UseAdminConnection; web.php: группа saas-admin теперь
['saas-admin','admin-db'] (swap default→pgsql_admin после гейта). Тест: admin-db
в пайплайне /api/admin/tenants, saas-admin не потерян.

SharesAdminPdo (зеркало SharesSupplierPdo) применён глобально к Feature suite
(Pest.php): admin-db висит на всей группе → admin-эндпоинты в тестах читают
через pgsql_admin (separate PDO) и не видели бы засеянные в транзакции данные;
sharing PDO даёт cross-connection visibility. baseline: +trait.unused
(Pest применяет трейт в рантайме, phpstan не видит uses() из Pest.php).
261 supplier+admin тестов зелёные.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 06:54:23 +03:00

16 lines
529 B
PHP

<?php
declare(strict_types=1);
use Illuminate\Support\Facades\Route;
it('applies admin-db middleware to the admin api route group', function () {
$route = collect(Route::getRoutes()->getRoutes())
->first(fn ($r) => $r->uri() === 'api/admin/tenants');
expect($route)->not->toBeNull();
expect($route->gatherMiddleware())->toContain('admin-db');
// saas-admin по-прежнему в пайплайне (гейт не потерян)
expect($route->gatherMiddleware())->toContain('saas-admin');
});