setup status: count steps that cannot be observed as unknown in the header
This commit is contained in:
parent
d55cf9ed80
commit
a4b9088a12
1 changed files with 18 additions and 5 deletions
|
|
@ -375,7 +375,7 @@ pub(crate) fn render(steps: &[Step], color: bool) -> String {
|
|||
.count();
|
||||
let unknown = steps
|
||||
.iter()
|
||||
.filter(|s| matches!(s.status, Status::Unknown(_)))
|
||||
.filter(|s| matches!(s.status, Status::Unknown(_) | Status::Unobservable(_)))
|
||||
.count();
|
||||
let next = steps
|
||||
.iter()
|
||||
|
|
@ -966,7 +966,7 @@ mod tests {
|
|||
let text = render(&classify(&o), false);
|
||||
assert!(text.contains("❓ 1 secret store initialised"));
|
||||
assert!(text.contains("unknown (bao is not on PATH)"));
|
||||
assert!(text.starts_with("🏗️ setup: 0/8 steps done ░░░░░░░░░░ ❓ 8 unknown\n"));
|
||||
assert!(text.starts_with("🏗️ setup: 0/8 steps done ░░░░░░░░░░ ❓ 10 unknown\n"));
|
||||
assert!(text.contains("next: step 1 could not be checked"));
|
||||
assert!(!text.contains("👉"));
|
||||
}
|
||||
|
|
@ -987,7 +987,7 @@ mod tests {
|
|||
assert_eq!(
|
||||
text,
|
||||
"\
|
||||
🏗️ setup: 6/8 steps done ███████░░░
|
||||
🏗️ setup: 6/8 steps done ███████░░░ ❓ 2 unknown
|
||||
|
||||
✅ 1 secret store initialised
|
||||
✅ 2 secret store unsealed
|
||||
|
|
@ -1009,7 +1009,7 @@ next: step 6, setup.md § 2: `swarmctl user add <name> --email <address> --group
|
|||
#[test]
|
||||
fn a_complete_ceremony_ends_on_the_celebration_line() {
|
||||
let text = render(&classify(&finished()), false);
|
||||
assert!(text.starts_with("🏗️ setup: 8/8 steps done ██████████\n"));
|
||||
assert!(text.starts_with("🏗️ setup: 8/8 steps done ██████████ ❓ 2 unknown\n"));
|
||||
assert!(text.ends_with("🎉 setup complete\n"));
|
||||
assert!(!text.contains("next:") && !text.contains("👉"));
|
||||
}
|
||||
|
|
@ -1020,7 +1020,7 @@ next: step 6, setup.md § 2: `swarmctl user add <name> --email <address> --group
|
|||
o.agents = Err("no socket".to_owned());
|
||||
let text = render(&classify(&o), false);
|
||||
assert!(
|
||||
text.starts_with("🏗️ setup: 5/8 steps done ██████░░░░ ❓ 2 unknown\n"),
|
||||
text.starts_with("🏗️ setup: 5/8 steps done ██████░░░░ ❓ 4 unknown\n"),
|
||||
"{text}"
|
||||
);
|
||||
}
|
||||
|
|
@ -1056,6 +1056,19 @@ next: step 6, setup.md § 2: `swarmctl user add <name> --email <address> --group
|
|||
assert!(!color_wanted(true, Some(OsStr::new("1"))));
|
||||
assert!(!color_wanted(false, None));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_header_omits_the_unknown_count_when_nothing_is_unknown() {
|
||||
let mut steps = classify(&finished());
|
||||
steps.retain(|s| !matches!(s.status, Status::Unobservable(_)));
|
||||
let text = render(&steps, false);
|
||||
assert!(
|
||||
text.starts_with("🏗️ setup: 8/8 steps done ██████████\n"),
|
||||
"{text}"
|
||||
);
|
||||
assert!(!text.contains("unknown"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_bar_is_full_only_when_everything_is_done() {
|
||||
assert_eq!(bar(0, 8), "░░░░░░░░░░");
|
||||
|
|
|
|||
Loading…
Reference in a new issue