diff --git a/crates/eureka-state/tests/mcp.rs b/crates/eureka-state/tests/mcp.rs index f4b96d3..ef9b54a 100644 --- a/crates/eureka-state/tests/mcp.rs +++ b/crates/eureka-state/tests/mcp.rs @@ -270,7 +270,7 @@ fn the_persona_tools_round_trip_against_a_live_daemon() { assert!(!error); assert_eq!(nothing, Value::Null); let (_, whoami) = mcp.call("whoami", json!({})); - assert_eq!(whoami["status"]["persona"], Value::Null); + assert_eq!(whoami["status"]["persona"], json!("Absent")); let (error, committed) = mcp.call("persona_put", put(persona(INSTANCE, T1), None)); assert!(!error); @@ -281,7 +281,7 @@ fn the_persona_tools_round_trip_against_a_live_daemon() { assert_eq!(view["value"], persona(INSTANCE, T1)); assert_eq!((view["updated_at"].as_str(), view["receipt_id"].as_str()), (Some(T1), Some(receipt.as_str()))); let (_, whoami) = mcp.call("whoami", json!({})); - assert_eq!(whoami["status"]["persona"], json!(T1)); + assert_eq!(whoami["status"]["persona"], json!({ "Stored": { "updated_at": T1 } })); let (error, stale) = mcp.call("persona_put", put(persona(INSTANCE, T2), None)); assert!(!error, "a stale put is an answer"); diff --git a/crates/huginn-mind/src/persona.rs b/crates/huginn-mind/src/persona.rs index 9c47518..f9c31fe 100644 --- a/crates/huginn-mind/src/persona.rs +++ b/crates/huginn-mind/src/persona.rs @@ -559,7 +559,9 @@ mod tests { store.plant(row); let mind = Mind::open_with(store, &yggdrasil).unwrap(); assert_eq!(persona_in_status(&mind), status); - assert_eq!(mind.persona().is_err(), status == crate::wire::PersonaStatus::Unreadable); + if status == crate::wire::PersonaStatus::Unreadable { + assert!(matches!(mind.persona(), Err(MindRefusal::Unavailable { .. })), "the door answers what the status says"); + } } assert_eq!(persona_in_status(&seeded_over(&MemoryStore::new())), crate::wire::PersonaStatus::Absent); }