vrcli 0.1.1

A command-line interface for the VRChat API that lets you manage friends, users, worlds, and authentication directly from your terminal
Documentation
use assert_cmd::prelude::*;
use predicates::prelude::*;
use std::process::Command;

#[test]
fn test_cli_help() {
    let mut cmd = Command::cargo_bin("vrcli").unwrap();
    cmd.arg("--help");

    cmd.assert()
        .success()
        .stdout(predicate::str::contains("A simple CLI tool for VRChat API"));
}

#[test]
fn test_cli_version() {
    let mut cmd = Command::cargo_bin("vrcli").unwrap();
    cmd.arg("--version");

    cmd.assert()
        .success()
        .stdout(predicate::str::contains("vrcli"));
}

#[test]
fn test_friends_help() {
    let mut cmd = Command::cargo_bin("vrcli").unwrap();
    cmd.args(["friends", "--help"]);

    cmd.assert()
        .success()
        .stdout(predicate::str::contains("Manage friends"));
}

#[test]
fn test_auth_help() {
    let mut cmd = Command::cargo_bin("vrcli").unwrap();
    cmd.args(["auth", "--help"]);

    cmd.assert()
        .success()
        .stdout(predicate::str::contains("Authentication management"));
}

#[test]
fn test_users_help() {
    let mut cmd = Command::cargo_bin("vrcli").unwrap();
    cmd.args(["users", "--help"]);

    cmd.assert()
        .success()
        .stdout(predicate::str::contains("Manage users"));
}

#[test]
fn test_worlds_help() {
    let mut cmd = Command::cargo_bin("vrcli").unwrap();
    cmd.args(["worlds", "--help"]);

    cmd.assert()
        .success()
        .stdout(predicate::str::contains("Manage worlds"));
}

// Note: Tests that require actual API authentication should be run separately
// and would require mock servers or test credentials