import unittest from app.services.orchestration.conversation_state_store import ConversationStateStore class ConversationStateStoreTests(unittest.TestCase): def test_save_user_context_preserves_existing_expiration_when_missing(self): store = ConversationStateStore() store.upsert_user_context(1, ttl_minutes=30) original_expires_at = store.get_user_context(1)["expires_at"] store.save_user_context( 1, { "active_domain": "sales", "active_task": "order_create", "generic_memory": {}, "shared_memory": {}, "collected_slots": {}, "flow_snapshots": {}, "last_tool_result": None, "order_queue": [], "pending_order_selection": None, "pending_switch": None, "last_stock_results": [], "selected_vehicle": None, "last_rental_results": [], "selected_rental_vehicle": None, }, ) stored_context = store.get_user_context(1) self.assertEqual(stored_context["active_domain"], "sales") self.assertEqual(stored_context["active_task"], "order_create") self.assertEqual(stored_context["expires_at"], original_expires_at) if __name__ == "__main__": unittest.main()