37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ============================================================
|
|
# dusk — Wrapper chạy Laravel Dusk tests
|
|
#
|
|
# Cách dùng:
|
|
# ./dusk # Có giao diện Chrome (mặc định)
|
|
# ./dusk --headless # Chạy headless (không mở cửa sổ)
|
|
# ./dusk --headless --filter=BulkWorkflowTest
|
|
# ./dusk --filter=AdminPrizeTest
|
|
#
|
|
# Tất cả tham số còn lại được chuyển thẳng sang php artisan dusk.
|
|
# ============================================================
|
|
|
|
set -e
|
|
|
|
HEADLESS=0
|
|
ARTISAN_ARGS=()
|
|
|
|
for arg in "$@"; do
|
|
if [[ "$arg" == "--headless" ]]; then
|
|
HEADLESS=1
|
|
else
|
|
ARTISAN_ARGS+=("$arg")
|
|
fi
|
|
done
|
|
|
|
if [[ $HEADLESS -eq 1 ]]; then
|
|
echo "[dusk] Chạy HEADLESS (không mở cửa sổ Chrome)"
|
|
# Set DUSK_HEADLESS=true trước khi PHP khởi động.
|
|
# Laravel dùng Dotenv::createImmutable() → OS env var có độ ưu tiên cao hơn .env
|
|
# → DUSK_HEADLESS_DISABLED trong .env sẽ bị bỏ qua bởi hasHeadlessDisabled()
|
|
exec env DUSK_HEADLESS=true php artisan dusk "${ARTISAN_ARGS[@]}"
|
|
else
|
|
echo "[dusk] Chạy có giao diện Chrome (DUSK_HEADLESS_DISABLED=true)"
|
|
exec php artisan dusk "${ARTISAN_ARGS[@]}"
|
|
fi
|