from __future__ import annotations

import pytest

from app.agents.suporte_contas_agent import SuporteContasAgent


class MustNotRunLLM:
    async def ainvoke(self, *args, **kwargs):
        raise AssertionError("no_match_retry já é decisão de controle e não deve ser reinterpretado")


@pytest.mark.asyncio
async def test_no_match_retry_returns_safe_clarification_without_generative_reinterpretation():
    agent = SuporteContasAgent(MustNotRunLLM(), tool_router=None)
    state = {
        "intent": "contas_no_match_retry",
        "user_text": "bota dois planos um em cima do outro pra cá",
        "sanitized_input": "bota dois planos um em cima do outro pra cá",
        "mcp_tools": [],
        "context": {},
    }
    result = await agent.run(state)
    assert result["answer"] == "Desculpe, não entendi. Poderia repetir de outra forma?"
