map(fn ($route): string => ltrim((string) $route->uri(), '/')) ->filter(fn (string $uri): bool => preg_match('#^admin/t(?:/|$)#', $uri) === 1) ->values(); expect($legacyRouteUris)->toBeEmpty(); }); it('does not register active /admin/tenants product routes', function (): void { $legacyRouteUris = collect(Route::getRoutes()) ->map(fn ($route): string => ltrim((string) $route->uri(), '/')) ->filter(fn (string $uri): bool => preg_match('#^admin/tenants(?:/|$)#', $uri) === 1) ->values(); expect($legacyRouteUris)->toBeEmpty(); }); it('does not register active tenant resource route names', function (): void { $legacyRouteNames = collect(Route::getRoutes()) ->map(fn ($route): ?string => $route->getName()) ->filter(fn (?string $name): bool => is_string($name) && ( str_starts_with($name, 'filament.tenant.') || str_starts_with($name, 'filament.admin.resources.tenants.') )) ->values(); expect($legacyRouteNames)->toBeEmpty(); }); it('returns 404 for retired ManagedEnvironmentResource route shapes', function (): void { [$user, $tenant] = createMinimalUserWithTenant(role: 'owner'); foreach ([ '/admin/t/'.$tenant->external_id, '/admin/t/'.$tenant->external_id.'/inventory-items', '/admin/tenants', "/admin/tenants/{$tenant->external_id}", "/admin/tenants/{$tenant->external_id}/edit", "/admin/tenants/{$tenant->external_id}/memberships", ] as $path) { $this->actingAs($user) ->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id]) ->get($path) ->assertNotFound(); } });