<?php

namespace Tests\Feature;

use App\Services\AI\TextProviderFailover;
use Laravel\Ai\AiManager;
use Tests\TestCase;

class AiTextModelsTest extends TestCase
{
    public function test_text_providers_resolve_the_requested_models_for_each_tier(): void
    {
        $providers = TextProviderFailover::providers();
        $ai = app(AiManager::class);

        $this->assertSame(['openai', 'gemini'], $providers);

        $openAi = $ai->textProvider($providers[0]);
        $this->assertSame('gpt-6-sol', $openAi->defaultTextModel());
        $this->assertSame('gpt-6-luna', $openAi->cheapestTextModel());
        $this->assertSame('gpt-6-astra', $openAi->smartestTextModel());

        $gemini = $ai->textProvider($providers[1]);
        $this->assertSame('gemini-3.8-flash', $gemini->defaultTextModel());
        $this->assertSame('gemini-3.1-flash-lite', $gemini->cheapestTextModel());
        $this->assertSame('gemini-3.1-pro-preview', $gemini->smartestTextModel());
    }
}
