#!/usr/bin/env bash
set -u
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

node scripts/start-authenticated-browser.mjs >/dev/null 2>&1 &
auth_pid=$!
cleanup_auth() {
  kill "$auth_pid" 2>/dev/null || true
  rm -f .midscene-cdp-endpoint
  rm -f .midscene-workspace-url
  rm -f .midscene-schedule-url
}
trap cleanup_auth EXIT

for _ in {1..60}; do
  [[ -s .midscene-cdp-endpoint ]] && break
  kill -0 "$auth_pid" 2>/dev/null || { echo "Authenticated browser failed to start"; exit 1; }
  sleep 1
done
[[ -s .midscene-cdp-endpoint ]] || { echo "Timed out waiting for authenticated browser"; exit 1; }
export MIDSCENE_CDP_ENDPOINT="$(<.midscene-cdp-endpoint)"
export BK_WEB_WORKSPACE_URL="$(<.midscene-workspace-url)"
export BK_SCHEDULE_URL="$(<.midscene-schedule-url)"

npx midscene --files \
  tests/web/scheduling-shift-lifecycle.yaml \
  tests/web/scheduling-time-boundaries.yaml \
  tests/web/scheduling-payroll.yaml \
  tests/web/scheduling-ai.yaml \
  --continue-on-error
