import api.config as config
from api.models import Session


def test_session_compact_includes_reasoning_effort():
    session = Session(model="qwen/qwen3.6-plus:free", reasoning_effort="HIGH")
    compact = session.compact()
    assert compact["reasoning_effort"] == "high"


def test_session_stores_blank_reasoning_effort_by_default():
    session = Session()
    assert session.reasoning_effort == ""


def test_clamp_reasoning_effort_rejects_unsupported_values():
    assert config.clamp_reasoning_effort('@openai-codex:gpt-5.4', 'medium') == 'medium'
    assert config.clamp_reasoning_effort('@openai-codex:gpt-5.4', 'xhigh') == ''
    assert config.clamp_reasoning_effort('@deepseek:deepseek-reasoner', 'high') == ''
