from __future__ import annotations

from pathlib import Path
import sys

ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "scripts"))

from handlers import suggest_roles, parse_role_selection, build_meeting_start_brief


def test_suggest_roles_prefers_default_order() -> None:
    roles = suggest_roles("Evaluate a product")
    assert roles
    assert isinstance(roles, list)


def test_parse_role_selection_filters_unknown_roles() -> None:
    raw = '{"analysis":"ok","roles":["real_powell","unknown_role"],"rationale":"test"}'
    roles = parse_role_selection(raw, ["real_powell", "gstack_ux"], "topic")
    assert roles == ["real_powell"]


def test_build_meeting_start_brief_contains_keys() -> None:
    brief = build_meeting_start_brief("Topic", context="Ctx", roles=["real_powell"], max_rounds=5)
    assert brief["topic"] == "Topic"
    assert brief["context"] == "Ctx"
    assert brief["roles"] == ["real_powell"]
    assert brief["max_rounds"] == 5
