diff options
Diffstat (limited to '.ai/scripts/tests')
| -rw-r--r-- | .ai/scripts/tests/inbox-status.bats | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/.ai/scripts/tests/inbox-status.bats b/.ai/scripts/tests/inbox-status.bats new file mode 100644 index 0000000..bc8a734 --- /dev/null +++ b/.ai/scripts/tests/inbox-status.bats @@ -0,0 +1,56 @@ +#!/usr/bin/env bats +# Tests for inbox-status: list unprocessed inbox handoffs, exit nonzero if any. + +setup() { + SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/inbox-status" + TMP="$(mktemp -d)" +} + +teardown() { + rm -rf "$TMP" +} + +@test "inbox-status: no inbox/ dir exits 2" { + cd "$TMP" + run "$SCRIPT" + [ "$status" -eq 2 ] +} + +@test "inbox-status: only .gitkeep is clean (exit 0)" { + mkdir "$TMP/inbox" + touch "$TMP/inbox/.gitkeep" + cd "$TMP" + run "$SCRIPT" + [ "$status" -eq 0 ] + [[ "$output" == *"0 pending"* ]] +} + +@test "inbox-status: a handoff is pending (exit 1, listed)" { + mkdir "$TMP/inbox" + touch "$TMP/inbox/.gitkeep" + echo body > "$TMP/inbox/2026-05-31-from-work-thing.org" + cd "$TMP" + run "$SCRIPT" + [ "$status" -eq 1 ] + [[ "$output" == *"1 pending"* ]] + [[ "$output" == *"2026-05-31-from-work-thing.org"* ]] +} + +@test "inbox-status: excludes lint-followups.org and PROCESSED-* artifacts" { + mkdir "$TMP/inbox" + touch "$TMP/inbox/.gitkeep" "$TMP/inbox/lint-followups.org" "$TMP/inbox/PROCESSED-old.org" + cd "$TMP" + run "$SCRIPT" + [ "$status" -eq 0 ] + [[ "$output" == *"0 pending"* ]] +} + +@test "inbox-status: -q suppresses the per-item lines" { + mkdir "$TMP/inbox" + echo body > "$TMP/inbox/handoff.org" + cd "$TMP" + run "$SCRIPT" -q + [ "$status" -eq 1 ] + [[ "$output" == *"1 pending"* ]] + [[ "$output" != *" handoff.org"* ]] +} |
