use super::*;
#[serial_test::serial(real_fs)]
#[test]
fn help_documents_the_delete_alias_and_that_it_asks() {
let delete_row = help_lines()
.iter()
.find(|line| line.contains("/resume delete <id>"))
.expect("the delete row is advertised");
assert!(
delete_row.contains("rm"),
"the alias survives: {delete_row}"
);
assert!(
delete_row.contains("asks first"),
"the corpus promises the confirmation: {delete_row}"
);
}
#[test]
fn help_lists_the_resume_command() {
assert!(help_lines().iter().any(|l| l.contains("/resume")));
}
#[test]
fn help_lists_the_roadmap_and_tree_commands() {
assert!(help_lines().iter().any(|l| l.contains("/roadmap")));
assert!(help_lines().iter().any(|l| l.contains("/roadmap tree")));
}
#[test]
fn help_documents_the_search_that_does_not_reopen() {
assert!(help_lines()
.iter()
.any(|line| line.contains("/resume find")));
assert!(
!help_lines().iter().any(|line| line.contains("/recall")),
"a retired verb must not still be advertised as a top-level command"
);
}
#[test]
fn help_documents_compress_command() {
assert!(help_lines()
.iter()
.any(|line| line.contains("/compress [focus]")));
}
#[test]
fn help_lists_name_alias_and_resume_grammar() {
let lines = help_lines();
assert!(lines.iter().any(|l| l.contains("/start")), "missing /start");
assert!(
lines.iter().any(|l| l.contains("/resume")),
"missing /resume"
);
assert!(
lines.iter().any(|l| l.contains("/rename")),
"missing /rename"
);
assert!(
lines.iter().any(|l| l.contains("/name")),
"missing /name alias"
);
}