#!/usr/bin/env bash
# Menjalankan seluruh piramida pengujian pada database uji terpisah.
#
#   bash tests/run-all.sh
#
# Database uji: ${TEST_DB_NAME:-tapaksavar_test}. Data pada database uji DIKOSONGKAN setiap kali dijalankan.
set -e
cd "$(dirname "$0")/.."

export DB_NAME="${TEST_DB_NAME:-tapaksavar_test}"
export APP_ENV=local
# Foto uji ditulis ke direktori sementara, bukan ke storage/ proyek.
export STORAGE_DIR="$(mktemp -d)"
trap 'rm -rf "$STORAGE_DIR"' EXIT

echo "== Unit"
php tests/run.php unit

echo "== Menyiapkan database uji (${DB_NAME})"
php cli/setup-db.php
php cli/reset-test-db.php
php cli/seed.php

echo "== Integrasi"
php tests/run.php integration

echo "== End-to-end (curl)"
bash tests/e2e/auth.sh
bash tests/e2e/admin.sh
bash tests/e2e/field.sh
bash tests/e2e/trx.sh

echo "== Data demo Januari 2026 + laporan"
php cli/reset-test-db.php
php cli/seed.php
php cli/load-demo.php
bash tests/e2e/reports.sh

echo "== Semua pengujian lolos"
