Files
Ustagammon/tests/test_scenarios.sh

30 lines
891 B
Bash
Executable File

#!/usr/bin/env bash
# Vérifie les scénarios d'utilisation (docs/scenarios/, ADR 0008) :
# chaque .feature est du Gherkin valide en français pour l'analyseur officiel
# de Cucumber (dans Docker), et figure dans l'index README.md.
set -euo pipefail
cd "$(dirname "$0")/../docs/scenarios"
errors=0
report() {
echo "$1"
errors=$((errors + 1))
}
features=(*.feature)
[ -e "${features[0]}" ] || report "aucun scénario dans docs/scenarios/"
for f in "${features[@]}"; do
[ -e "$f" ] || continue
grep -qF "]($f)" README.md || report "$f : absent de l'index README.md"
done
if ! docker image inspect "${GHERKIN_IMAGE:?lancer via make test}" >/dev/null 2>&1; then
report "Analyseur Gherkin absent : lancer d'abord make setup"
elif ! docker run --rm -v "$PWD:/src:ro" -w /src "$GHERKIN_IMAGE" "${features[@]}"; then
report "scénarios invalides (voir ci-dessus)"
fi
[ "$errors" -eq 0 ]