26 lines
844 B
Rust
26 lines
844 B
Rust
use cassady::conversation::{list_chats, Conversation, Record};
|
|
use tempfile::tempdir;
|
|
|
|
#[test]
|
|
fn conversation_appends_loads_and_lists_by_cwd() {
|
|
let root = tempdir().unwrap();
|
|
let cwd = tempdir().unwrap();
|
|
let mut convo =
|
|
Conversation::create(root.path(), "model", cwd.path(), "base prompt".into()).unwrap();
|
|
convo
|
|
.append(Record::User {
|
|
content: "hello world".into(),
|
|
ts: "now".into(),
|
|
})
|
|
.unwrap();
|
|
|
|
let (loaded, warning) = Conversation::load(root.path(), &convo.id).unwrap();
|
|
assert!(warning.is_none());
|
|
assert_eq!(loaded.base_system_prompt(), "base prompt");
|
|
|
|
let chats = list_chats(root.path(), cwd.path()).unwrap();
|
|
assert_eq!(chats.len(), 1);
|
|
assert_eq!(chats[0].id, convo.id);
|
|
assert_eq!(chats[0].first_user_preview, "hello world");
|
|
}
|