import pytest def test_history_truncation(): # A dummy test to fulfill the Red Phase for the history truncation controls. # The new function in gui.py should be cb_disc_truncate_history or a related utility. from project_manager import str_to_entry, entry_to_str entries = [ {"role": "User", "content": "1", "collapsed": False, "ts": "10:00:00"}, {"role": "AI", "content": "2", "collapsed": False, "ts": "10:01:00"}, {"role": "User", "content": "3", "collapsed": False, "ts": "10:02:00"}, {"role": "AI", "content": "4", "collapsed": False, "ts": "10:03:00"} ] # We expect a new function truncate_entries(entries, max_pairs) to exist from gui import truncate_entries truncated = truncate_entries(entries, max_pairs=1) # Keeping the last pair (user + ai) assert len(truncated) == 2 assert truncated[0]["content"] == "3" assert truncated[1]["content"] == "4"