65 lines
1.6 KiB
Rust
65 lines
1.6 KiB
Rust
use assert_cmd::Command;
|
|
use predicates::prelude::*;
|
|
use std::fs;
|
|
use tempfile::TempDir;
|
|
|
|
#[test]
|
|
fn test_cli_help() {
|
|
let mut cmd = Command::cargo_bin("quicommit").unwrap();
|
|
cmd.arg("--help");
|
|
cmd.assert()
|
|
.success()
|
|
.stdout(predicate::str::contains("QuiCommit"));
|
|
}
|
|
|
|
#[test]
|
|
fn test_version() {
|
|
let mut cmd = Command::cargo_bin("quicommit").unwrap();
|
|
cmd.arg("--version");
|
|
cmd.assert()
|
|
.success()
|
|
.stdout(predicate::str::contains("0.1.0"));
|
|
}
|
|
|
|
#[test]
|
|
fn test_config_show() {
|
|
let temp_dir = TempDir::new().unwrap();
|
|
let config_dir = temp_dir.path().join("config");
|
|
fs::create_dir(&config_dir).unwrap();
|
|
|
|
let mut cmd = Command::cargo_bin("quicommit").unwrap();
|
|
cmd.env("QUICOMMIT_CONFIG", config_dir.join("config.toml"))
|
|
.arg("config")
|
|
.arg("show");
|
|
|
|
cmd.assert().success();
|
|
}
|
|
|
|
#[test]
|
|
fn test_profile_list_empty() {
|
|
let temp_dir = TempDir::new().unwrap();
|
|
|
|
let mut cmd = Command::cargo_bin("quicommit").unwrap();
|
|
cmd.env("QUICOMMIT_CONFIG", temp_dir.path().join("config.toml"))
|
|
.arg("profile")
|
|
.arg("list");
|
|
|
|
cmd.assert()
|
|
.success()
|
|
.stdout(predicate::str::contains("No profiles configured"));
|
|
}
|
|
|
|
#[test]
|
|
fn test_init_quick() {
|
|
let temp_dir = TempDir::new().unwrap();
|
|
|
|
let mut cmd = Command::cargo_bin("quicommit").unwrap();
|
|
cmd.env("QUICOMMIT_CONFIG", temp_dir.path().join("config.toml"))
|
|
.arg("init")
|
|
.arg("--yes");
|
|
|
|
cmd.assert()
|
|
.success()
|
|
.stdout(predicate::str::contains("initialized successfully"));
|
|
}
|