blob: 608a280240b7f991892bc6f646e91fbb069c47b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/usr/bin/env bats
# Tests for the flashcard-sync wrapper: argument handling + the stats gate.
# The clean end-to-end path runs flashcard-to-anki.py (uv-resolved genanki) and is
# not exercised here; these cover the guard paths that stop before that step.
setup() {
SCRIPT_DIR="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)"
SYNC="$SCRIPT_DIR/flashcard-sync"
TMP="$(mktemp -d)"
}
teardown() {
rm -rf "$TMP"
}
@test "flashcard-sync: no args exits 2" {
run "$SYNC"
[ "$status" -eq 2 ]
}
@test "flashcard-sync: missing source file exits 2" {
run "$SYNC" "$TMP/nope.org"
[ "$status" -eq 2 ]
}
@test "flashcard-sync: stats gate failure exits 1 and writes no apkg" {
cat > "$TMP/dirty.org" <<'EOF'
#+TITLE: DeepSat Org-Drill Flashcards
* Section
** DeepSat :drill:
*** Answer
A satellite company.
EOF
run "$SYNC" "$TMP/dirty.org"
[ "$status" -eq 1 ]
[ ! -f "$HOME/sync/phone/anki/dirty.apkg" ]
}
|