<?php

declare(strict_types=1);

use Illuminate\Foundation\Testing\DatabaseTransactions;

uses(DatabaseTransactions::class);

// FN-LOGIN-ROUTE (приёмка 22.06.2026): неаутентифицированный запрос к auth:sanctum
// роуту, который НЕ просит JSON (нет Accept: application/json — прямой заход
// браузером/ботом), уводит Laravel в редирект на route('login'), которого в SPA
// нет → «Route [login] not defined» (500). Должно отдавать 401 JSON для /api/*.
test('гость без Accept:json на /api/auth/me получает 401 JSON, не route(login)-ошибку', function () {
    // get() без Accept:application/json — expectsJson() === false, как у прямого
    // браузерного/ботового захода. Заголовок Accept по умолчанию не JSON.
    $r = $this->get('/api/auth/me', ['Accept' => 'text/html']);

    $r->assertStatus(401);
    $r->assertHeader('Content-Type', 'application/json');
    expect($r->json('message'))->not->toBeEmpty();
});

test('гость c Accept:json на /api/auth/me получает 401 JSON (регрессия — уже работало)', function () {
    $r = $this->getJson('/api/auth/me');

    $r->assertStatus(401);
});
