Initial upload: DotMigrate dotfiles migration tool with CI/CD
This commit is contained in:
105
tests/integration/cli_tests.rs
Normal file
105
tests/integration/cli_tests.rs
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
use std::process::Command;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_version() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "--version"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("dotmigrate"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_help() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("USAGE:"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_detect_command_exists() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "detect", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("--output") || stdout.contains("--include-system"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_backup_command_exists() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "backup", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("--output") || stdout.contains("--backup-dir"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_sync_command_exists() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "sync", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("--remote") || stdout.contains("--branch"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_merge_command_exists() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "merge", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("--base") || stdout.contains("--local"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_status_command_exists() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "status", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("--detailed"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cli_completions_command_exists() {
|
||||||
|
let output = Command::new("cargo")
|
||||||
|
.args(["run", "--", "completions", "--help"])
|
||||||
|
.current_dir("..")
|
||||||
|
.output()
|
||||||
|
.expect("Failed to run cargo");
|
||||||
|
|
||||||
|
assert!(output.status.success());
|
||||||
|
let stdout = String::from_utf8_lossy(&output.stdout);
|
||||||
|
assert!(stdout.contains("SHELL"));
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user