use assert_cmd::Command;
fn bin() -> Command {
Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap()
}
#[test]
fn contract_exit_0() {
bin().args(["contract", "0"]).assert().code(0);
}
#[test]
fn contract_exit_1_transient() {
bin().args(["contract", "1"]).assert().code(1);
}
#[test]
fn contract_exit_2_config() {
bin().args(["contract", "2"]).assert().code(2);
}
#[test]
fn contract_exit_3_bad_input() {
bin().args(["contract", "3"]).assert().code(3);
}
#[test]
fn contract_exit_4_rate_limited() {
bin().args(["contract", "4"]).assert().code(4);
}
#[test]
fn script_success_exits_0() {
bin().args(["script", "World"]).assert().code(0);
}
#[test]
fn help_exits_0() {
bin().arg("--help").assert().code(0);
}
#[test]
fn version_exits_0() {
bin().arg("--version").assert().code(0);
}
#[test]
fn agent_info_exits_0() {
bin().arg("agent-info").assert().code(0);
}
#[test]
fn config_path_exits_0() {
bin().args(["config", "path"]).assert().code(0);
}
#[test]
fn config_show_exits_0() {
bin().args(["config", "show"]).assert().code(0);
}
#[test]
fn missing_subcommand_exits_3() {
bin().assert().code(3);
}
#[test]
fn speak_missing_text_exits_3() {
bin().arg("speak").assert().code(3);
}