"""Tests for QQ-safe text sanitization in MessageHandler."""

from types import SimpleNamespace

import pytest

pytest.importorskip("botpy")

from src.handlers.message_handler_ai import MessageHandler


def _handler() -> MessageHandler:
    fake_bot = SimpleNamespace(robot=SimpleNamespace(id="test_bot"))
    return MessageHandler(fake_bot)


def test_plain_text_removes_markdown_link_url():
    handler = _handler()
    text = "参考 [Wikipedia](https://en.wikipedia.org/wiki/Wikipedia) 获取详情。"

    result = handler._plain_text(text)

    assert "Wikipedia" in result
    assert "http" not in result.lower()


def test_plain_text_removes_bare_url():
    handler = _handler()
    text = "访问 https://example.com/path?a=1 或 www.example.org 查看。"

    result = handler._plain_text(text)

    assert "http" not in result.lower()
    assert "www." not in result.lower()
    assert "[链接已省略]" in result
