Initial upload: DotMigrate dotfiles migration tool with CI/CD
Some checks failed
CI / test (push) Has been cancelled
CI / release (push) Has been cancelled

This commit is contained in:
2026-02-04 09:53:08 +00:00
parent dd5d8d6c31
commit 520be0680a

View 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"));
}