use serde_json::json;
use super::{ANSWER, RESTORE, REVOKE, VERDICTS, answer, restore, revoke};
use crate::verbs::find;
#[test]
fn each_door_builds_the_envelope_the_wire_requires() {
assert_eq!(
answer("home".to_owned(), "c-1".to_owned(), "pass".to_owned()),
json!({"op": "answer", "workspace": "home", "agent": "c-1", "verdict": "pass"})
);
assert_eq!(
revoke("home".to_owned(), "c-1".to_owned()),
json!({"op": "revoke", "workspace": "home", "agent": "c-1"})
);
assert_eq!(
restore("home".to_owned(), "c-1".to_owned()),
json!({"op": "restore", "workspace": "home", "agent": "c-1"})
);
}
#[test]
fn all_three_are_rows_in_the_one_table() {
for verb in [ANSWER, REVOKE, RESTORE] {
assert_eq!(find(verb.word), Some(verb), "{}", verb.word);
}
}
#[test]
fn the_verdicts_are_the_wires_own_words() {
assert_eq!(VERDICTS, ["pass", "refuse", "hold"]);
for word in VERDICTS {
let built = answer("home".to_owned(), "c-1".to_owned(), word.to_owned());
assert_eq!(built["verdict"], word);
}
}