feat: add multi-chat routing and bill-specific dashboard countdown
Some checks failed
Test blackout notifier / test (push) Failing after 4s
Hourly blackout check / check (push) Successful in 3s

This commit is contained in:
Meghdad
2026-07-22 02:14:45 +03:30
parent 6c3e146234
commit 42687ee651
12 changed files with 372 additions and 100 deletions

View File

@@ -142,6 +142,29 @@ assert_contains "${SCHEDULE[1]}" '"outage_number":"2"' \
assert_contains "${SCHEDULE[2]}" '"outage_number":"5"' \
"later events should remain in the schedule"
build_schedule "$FIXTURE" "$NOW_EPOCH" "222"
assert_equal "3" "${#SCHEDULE[@]}" \
"selecting a countdown bill should not filter the schedule"
assert_equal "UPCOMING" "${HERO%%$'\t'*}" \
"the countdown should ignore another bill's ongoing outage"
assert_contains "$HERO" '"bill_id":"222"' \
"the countdown should use only the selected bill"
SELECTED_OUTPUT="$(NO_COLOR=1 COLUMNS=80 render_dashboard "$NOW_EPOCH" 80 "222")"
assert_contains "$SELECTED_OUTPUT" "COUNTDOWN FOR BILL 222" \
"the selected countdown bill should be labeled"
assert_contains "$SELECTED_OUTPUT" "OUTAGE SCHEDULE (3)" \
"the selected countdown bill should not hide other bills from the list"
build_schedule "$FIXTURE" "$NOW_EPOCH" "333"
assert_equal "" "$HERO" \
"a bill without upcoming outages should not borrow another bill's countdown"
NO_HERO_OUTPUT="$(NO_COLOR=1 COLUMNS=80 render_dashboard "$NOW_EPOCH" 80 "333")"
assert_contains "$NO_HERO_OUTPUT" "NO CURRENT OR UPCOMING OUTAGE" \
"a selected bill without outages should have a clear countdown status"
assert_contains "$NO_HERO_OUTPUT" "OUTAGE SCHEDULE (3)" \
"all bills should remain listed when the selected bill has no outage"
build_schedule "$FIXTURE" "$NOW_EPOCH"
OUTPUT="$(NO_COLOR=1 COLUMNS=80 render_dashboard "$NOW_EPOCH")"
if [[ "$OUTPUT" == *"POWER RETURNS IN"* || "$OUTPUT" == *"NEXT OUTAGE IN"* ]]; then
printf 'FAIL: countdown output contains a redundant heading\n' >&2
@@ -219,4 +242,9 @@ if (
exit 1
fi
if main --bill-id invalid >/dev/null 2>&1; then
printf 'FAIL: a non-decimal countdown bill ID was accepted\n' >&2
exit 1
fi
printf 'Bash CLI tests passed\n'