Files
odysseus/tests/test_queued_message_merge_static.py
T

24 lines
953 B
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
CHAT = (ROOT / "static/js/chat.js").read_text()
def test_queued_stack_is_consumed_as_one_ordered_message():
assert "function _consumeQueuedRequestStack()" in CHAT
assert "_queuedAgentRequests[i].sessionId === sid" in CHAT
assert ".join('\\n\\n')" in CHAT
def test_automatic_drain_sends_the_combined_stack_once():
drain = CHAT[CHAT.index("function _drainQueuedAgentRequests()") : CHAT.index("/**\n * Handle chat form submission")]
assert "const next = _consumeQueuedRequestStack();" in drain
assert "_removeQueuedRequest(next.id)" not in drain
assert "_setComposerAndSend(next.message);" in drain
def test_clicking_a_queued_bubble_promotes_the_whole_stack():
promote = CHAT[CHAT.index("function _promoteQueuedRequest(id)") : CHAT.index("function _queueAgentRequest(message)")]
assert "const item = _consumeQueuedRequestStack();" in promote