Files
codewhale/crates
Hunter Bown 0fe05b682a test(session): pin offline-queue session_id stamping (#487 follow-up)
The #487 fix relies on `save_offline_queue_state` correctly
stamping the session id so the load path's mismatch check has
something to compare against. The existing
`test_offline_queue_round_trip_and_clear` covers
serialization + clear but doesn't pin the session_id stamping
behavior.

Adds `test_offline_queue_stamps_session_id_on_save` which
exercises three cases:

* `save(state, Some("session-A"))` → loaded session_id is
  `Some("session-A")`. The stamp made it to disk.
* `save(state, Some("session-B"))` → re-saving replaces the
  stamp; loaded session_id is `Some("session-B")`. No stale
  ID lingers.
* `save(state, None)` → loaded session_id is `None`. The UI's
  load path treats this as legacy-unscoped and refuses to
  restore (fail-closed), which is what protects users from
  pre-#487 queues leaking into new chats.

Pure additive coverage. The 2 existing offline-queue tests
pass unchanged.
2026-05-03 07:16:11 -05:00
..