use crate::common;
use common::{OutputAssertions, TestRepo};
#[test]
fn test_reorder_single_branch_is_noop() {
let repo = TestRepo::new();
repo.run_stax(&["status"]).assert_success();
repo.create_stack(&["only-branch"]);
let output = repo.run_stax(&["reorder", "--yes"]);
output.assert_success();
let stdout = TestRepo::stdout(&output);
assert!(
stdout.contains("one branch") || stdout.contains("Nothing to reorder"),
"Expected single-branch message, got: {}",
stdout
);
}
#[test]
fn test_reorder_on_trunk_fails() {
let repo = TestRepo::new();
repo.run_stax(&["status"]).assert_success();
repo.create_stack(&["reorder-a"]);
repo.run_stax(&["t"]);
let output = repo.run_stax(&["reorder", "--yes"]);
output.assert_failure();
let stderr = TestRepo::stderr(&output);
assert!(
stderr.contains("trunk") || stderr.contains("Cannot"),
"Expected trunk error, got stderr: {}",
stderr
);
}
#[test]
fn test_reorder_help_shows_flag() {
let repo = TestRepo::new();
let output = repo.run_stax(&["reorder", "--help"]);
output.assert_success();
output.assert_stdout_contains("--yes");
}