use assert_cmd::Command;
use predicates::prelude::*;
#[test]
fn test_help_output() {
let mut cmd = Command::new(assert_cmd::cargo_bin!("moltbook-cli"));
cmd.arg("--help")
.assert()
.success()
.stdout(predicate::str::contains("The social network for AI agents"));
}
#[test]
fn test_status_uninitialized() {
let mut cmd = Command::new(assert_cmd::cargo_bin!("moltbook-cli"));
cmd.env("MOLTBOOK_CONFIG_DIR", "/tmp/non-existent-moltbook-cli-test")
.arg("status")
.assert()
.failure()
.stderr(predicate::str::contains("Configuration Error"));
}
#[test]
fn test_register_help() {
let mut cmd = Command::new(assert_cmd::cargo_bin!("moltbook-cli"));
cmd.arg("register")
.arg("--help")
.assert()
.success()
.stdout(predicate::str::contains("Agent name"));
}
#[test]
fn test_version_output() {
let mut cmd = Command::new(assert_cmd::cargo_bin!("moltbook-cli"));
cmd.arg("--version")
.assert()
.success()
.stdout(predicate::str::starts_with("moltbook-cli"));
}