Files

55 lines
1.6 KiB
Python

import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
from helpers import (
build_transcript_block,
chunk_message,
command_channel_error,
summarize_error,
)
def test_chunk_message_splits_long_text_under_limit():
text = "A" * 4500
chunks = chunk_message(text, limit=1900)
assert len(chunks) == 3
assert all(len(c) <= 1900 for c in chunks)
assert "".join(chunks) == text
def test_chunk_message_keeps_short_text_single_chunk():
text = "hello world"
assert chunk_message(text, limit=1900) == [text]
def test_summarize_error_prefers_json_message():
body = {"error": {"message": "bad request"}}
assert summarize_error(body, fallback="x") == "bad request"
def test_summarize_error_falls_back_to_string():
assert summarize_error({"unexpected": True}, fallback="fallback") == "fallback"
def test_build_transcript_block_labels_transcript():
block = build_transcript_block("Chris", "Discussed deadlines")
assert block == "[Chris]\nDiscussed deadlines"
def test_command_channel_error_allows_matching_channel():
assert command_channel_error(current_channel_id=123, allowed_channel_id=123) is None
def test_command_channel_error_blocks_when_not_configured():
assert command_channel_error(current_channel_id=123, allowed_channel_id=None) == (
"⚠️ This bot doesn't have a command channel yet. Use `/set_output` first."
)
def test_command_channel_error_blocks_wrong_channel():
assert command_channel_error(current_channel_id=123, allowed_channel_id=456) == (
"⚠️ This command only works in <#456>."
)