use super::*;
#[test]
fn every_flat_receipt_says_what_happened() {
let started = encode(&Reply::Started {
conversation: "brave-fox".into(),
});
assert_eq!(started["ok"], true);
assert_eq!(started["conversation"], "brave-fox");
let deleted = encode(&Reply::Deleted);
assert_eq!(deleted["kind"], "deleted");
assert_eq!(deleted["ok"], true);
assert_eq!(encode(&Reply::Acked)["kind"], "acked");
assert_eq!(encode(&Reply::TrailCleared)["kind"], "trail-cleared");
let armed = encode(&Reply::Armed { armed: true });
assert_eq!(armed["kind"], "armed");
assert_eq!(armed["armed"], true);
assert_eq!(encode(&Reply::Armed { armed: false })["armed"], false);
assert_eq!(encode(&Reply::Flagged)["kind"], "flagged");
let answered = encode(&Reply::Answered {
tool_use: "toolu_42".into(),
tool: "bash".into(),
ruling: crate::control::judge::Ruling::Pass,
advanced: true,
});
assert_eq!(answered["kind"], "answered");
assert_eq!(answered["tool_use"], "toolu_42");
assert_eq!(answered["tool"], "bash");
assert_eq!(answered["verdict"], "pass");
assert_eq!(answered["advanced"], true);
let floored = encode(&Reply::Floored { standing: true });
assert_eq!(floored["kind"], "floored");
assert_eq!(floored["standing"], true);
assert_eq!(
encode(&Reply::Floored { standing: false })["standing"],
false
);
}