<?php

declare(strict_types=1);

use Illuminate\Foundation\Testing\DatabaseTransactions;

/**
 * J2 (Sprint 3F) — гейт SaaS-admin зоны.
 *
 * EnsureSaasAdmin на /api/admin/*: пропускает запрос во ВСЕХ окружениях.
 * Защита боевой админ-зоны (/admin + /api/admin/*) перенесена на nginx
 * (HTTP Basic Auth, отдельный пароль — /etc/nginx/.htpasswd-admin), потому
 * что настоящий saas-admin SSO (Yandex 360) ещё не готов (Б-1 + DO-4).
 * Ранее middleware fail-closed 503 вне dev/testing — это закрывало всю
 * админку на проде наглухо; стопгэп заменил замок на nginx-дверь.
 */
uses(DatabaseTransactions::class);

test('/api/admin/* пропускается на testing-окружении', function () {
    $this->getJson('/api/admin/tenants')->assertStatus(200);
});

test('/api/admin/* пропускается и на production (замок 503 снят, дверь держит nginx)', function () {
    $this->app->detectEnvironment(fn () => 'production');

    // Раньше тут был 503. Теперь приложение зону не закрывает — её держит
    // nginx basic-auth (стопгэп до реального Yandex 360 SSO).
    $this->getJson('/api/admin/tenants')->assertStatus(200);
});
