from types import SimpleNamespace from src.handlers.message_handler_ai import MessageHandler def _build_handler() -> MessageHandler: fake_bot = SimpleNamespace(robot=SimpleNamespace(id="bot_1", name="TestBot")) return MessageHandler(fake_bot) def test_message_dedup_by_message_id(): handler = _build_handler() msg = SimpleNamespace(id="m1", content="hello", author=SimpleNamespace(id="u1")) assert handler._is_duplicate_message(msg) is False assert handler._is_duplicate_message(msg) is True def test_message_dedup_fallback_without_message_id(): handler = _build_handler() msg = SimpleNamespace(content="hello", author=SimpleNamespace(id="u1"), group_id="g1") assert handler._is_duplicate_message(msg) is False assert handler._is_duplicate_message(msg) is True