Files
CASAN/packages/casan-harness/tests/phase-service-desk-onboard-tests.sh

20 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../scripts/bash/casan-paths.sh"
ROOT="$CASAN_APP_ROOT"; S="$CASAN_HARNESS_ROOT/scripts/bash"; DOMAIN="$ROOT/apps/service-desk/domain"
W="$(mktemp -d)"; trap 'rm -rf "$W"' EXIT
PASS=0; FAIL=0
pass() { echo "PASS: $1"; PASS=$((PASS+1)); }
fail() { echo "FAIL: $1"; FAIL=$((FAIL+1)); }
node --test "$ROOT/apps/service-desk/test/ticket.test.mjs" >/dev/null && pass "Service Desk domain tests pass" || fail "Service Desk domain tests fail"
python3 "$S/traceability-matrix.py" --requirements "$DOMAIN/input/service-desk-requirement.md" --map "$DOMAIN/traceability-map.json" --out "$W/trace.json" --gate >/dev/null \
&& python3 - "$W/trace.json" <<'PY' && pass "four Service Desk requirements have code and test evidence" || fail "Service Desk traceability fails"
import json, sys
d=json.load(open(sys.argv[1])); assert d['summary']['requirements']==4 and d['summary']['failed']==0
PY
bash "$S/verify-harness-reuse.sh" | grep -q 'HARNESS_REUSE_VALID.*project_count=2.*CASAN_SERVICE_DESK' \
&& pass "two active independent domain packs prove reuse" || fail "reuse registry not valid"
echo "===== SERVICE DESK ONBOARD SUMMARY: PASS=$PASS FAIL=$FAIL ====="
[[ "$FAIL" -eq 0 ]]