import pytest def test_discussion_entry_with_thinking_segments(): entry = { "role": "AI", "content": "Here's my response", "thinking_segments": [ {"content": "Let me analyze this step by step...", "marker": "thinking"}, {"content": "I should consider edge cases...", "marker": "thought"}, ], "ts": "2026-03-13T10:00:00", "collapsed": False, } assert "thinking_segments" in entry assert len(entry["thinking_segments"]) == 2 def test_discussion_entry_without_thinking(): entry = { "role": "User", "content": "Hello", "ts": "2026-03-13T10:00:00", "collapsed": False, } assert "thinking_segments" not in entry def test_thinking_segment_model_compatibility(): from src.models import ThinkingSegment segment = ThinkingSegment(content="test", marker="thinking") assert segment.content == "test" assert segment.marker == "thinking" d = segment.to_dict() assert d["content"] == "test" assert d["marker"] == "thinking" if __name__ == "__main__": test_discussion_entry_with_thinking_segments() test_discussion_entry_without_thinking() test_thinking_segment_model_compatibility() print("All GUI thinking trace tests passed!")