44 lines
1.7 KiB
Bash
44 lines
1.7 KiB
Bash
#!/usr/bin/env bats
|
|
# tests/index-remove.bats — index-append.py --remove mode.
|
|
setup() {
|
|
load 'helpers'
|
|
export GENOMES_ROOT="${BATS_TEST_TMPDIR}"
|
|
g_src="$(make_fixture_genome)"; export g="$g_src"
|
|
}
|
|
|
|
@test "index --remove: deletes the matching entry, keeps the others" {
|
|
cd "$g"
|
|
python3 "$SKILL_SCRIPTS/index-append.py" --section Sources --entry '- [[sources/a]] — A. `maturity: draft`'
|
|
python3 "$SKILL_SCRIPTS/index-append.py" --section Sources --entry '- [[sources/b]] — B. `maturity: draft`'
|
|
grep -q 'sources/a' wiki/index.md
|
|
grep -q 'sources/b' wiki/index.md
|
|
|
|
run python3 "$SKILL_SCRIPTS/index-append.py" --remove 'sources/a'
|
|
[ "$status" -eq 0 ]
|
|
! grep -q '\[\[sources/a\]\]' wiki/index.md
|
|
grep -q 'sources/b' wiki/index.md
|
|
}
|
|
|
|
@test "index --remove: idempotent when the entry is absent" {
|
|
cd "$g"
|
|
run python3 "$SKILL_SCRIPTS/index-append.py" --remove 'sources/does-not-exist'
|
|
[ "$status" -eq 0 ]
|
|
[[ "$output" == *'nothing to remove'* ]]
|
|
}
|
|
|
|
@test "index --remove: bumps last_updated" {
|
|
cd "$g"
|
|
python3 "$SKILL_SCRIPTS/index-append.py" --section Sources --entry '- [[sources/a]] — A. `maturity: draft`'
|
|
# set last_updated to an old date, then remove and check it moved
|
|
sed -i 's/^last_updated:.*/last_updated: 2000-01-01/' wiki/index.md
|
|
run python3 "$SKILL_SCRIPTS/index-append.py" --remove 'sources/a'
|
|
[ "$status" -eq 0 ]
|
|
! grep -q '2000-01-01' wiki/index.md
|
|
grep -q "last_updated: $(date +%F)" wiki/index.md
|
|
}
|
|
|
|
@test "index --remove: rejects passing both --entry and --remove" {
|
|
cd "$g"
|
|
run python3 "$SKILL_SCRIPTS/index-append.py" --section Sources --entry '- [[sources/a]] — x' --remove 'sources/a'
|
|
[ "$status" -eq 2 ]
|
|
}
|