From 1be462974deaee2f1236b4a11bc44125846ac2f8 Mon Sep 17 00:00:00 2001 From: Ackerman Date: Wed, 23 Jul 2025 18:52:11 +0900 Subject: [PATCH] test: verify push calls subtree push --- tests/cli.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/cli.rs b/tests/cli.rs index 510ede9..306499e 100644 --- a/tests/cli.rs +++ b/tests/cli.rs @@ -189,3 +189,32 @@ fn remove_mapping() { .success() .stdout(predicate::str::contains("No mappings")); } + +#[test] +fn push_executes_subtree_push() { + let repo = setup_repo(); + let git_shim = fake_git_path(&repo); + + let path_env = format!( + "{}:{}", + git_shim.parent().unwrap().display(), + std::env::var("PATH").unwrap() + ); + + Command::cargo_bin("gh-sync") + .unwrap() + .current_dir(repo.path()) + .env("PATH", &path_env) + .args(&["connect", "web-app", "git@github.com:a/b.git"]) + .assert() + .success(); + + Command::cargo_bin("gh-sync") + .unwrap() + .current_dir(repo.path()) + .env("PATH", &path_env) + .args(&["push", "web-app"]) + .assert() + .success() + .stdout(predicate::str::contains("git subtree push")); +}