use assert_cmd::Command;
use predicates::prelude::*;
fn agent() -> Command {
Command::cargo_bin("agent").expect("binary should exist")
}
#[test]
fn version_flag() {
agent()
.arg("--version")
.assert()
.success()
.stdout(predicate::str::contains("agent"));
}
#[test]
fn help_flag() {
agent()
.arg("--help")
.assert()
.success()
.stdout(predicate::str::contains("AI"))
.stdout(predicate::str::contains("--model"))
.stdout(predicate::str::contains("--prompt"));
}
#[test]
fn unknown_flag_fails() {
agent()
.arg("--this-flag-does-not-exist")
.assert()
.failure()
.stderr(predicate::str::contains("error").or(predicate::str::contains("unexpected")));
}