Compare commits

...

6 Commits

Author SHA1 Message Date
zhi
ef8a4ae994 BE-PR-010: update submodule ref for Backend.Test 2026-03-30 12:50:03 +00:00
zhi
4c54503a81 Update HarborForge.Backend.Test submodule ref 2026-03-30 11:46:26 +00:00
zhi
62d339b58c BE-PR-001: Update submodule ref for Backend.Test 2026-03-29 15:35:54 +00:00
zhi
23cad37e03 test: simplify frontend test runner and rely on image default command
- remove --test-real-plugin option
- stop overriding test container CMD
- let Frontend.Test Dockerfile own proxy startup and playwright launch
2026-03-21 10:10:59 +00:00
zhi
779fb7b387 test: update frontend test defaults and propose suite 2026-03-20 11:38:12 +00:00
zhi
48c54c2f32 test: exclude real-plugin frontend test by default
Only run real-plugin.spec.ts when --test-real-plugin is explicitly provided.
2026-03-20 11:26:14 +00:00
3 changed files with 9 additions and 30 deletions

View File

@@ -1,16 +1,13 @@
#!/bin/bash
# Run frontend test with optional port exposure
# Usage: ./run-test-frontend.sh [--expose-port {on|off}] [--test-real-plugin]
# Default:
# Usage: ./run-test-frontend.sh [--expose-port {on|off}]
# Default:
# --expose-port off: Auto cleanup after test
# --test-real-plugin: Run only real-plugin.spec.ts (requires vps.t1 plugin)
set -e
EXPOSE_PORT="off"
TEST_REAL_PLUGIN="off"
COMPOSE_FILE="docker-compose-frontend.yml"
TEST_PATTERN=""
# Load environment variables from .env.TEST if exists
if [ -f ".env.TEST" ]; then
@@ -31,13 +28,9 @@ while [[ $# -gt 0 ]]; do
EXPOSE_PORT="${1#*=}"
shift
;;
--test-real-plugin)
TEST_REAL_PLUGIN="on"
shift
;;
*)
echo "Unknown option: $1"
echo "Usage: $0 [--expose-port {on|off}] [--test-real-plugin]"
echo "Usage: $0 [--expose-port {on|off}]"
exit 1
;;
esac
@@ -49,14 +42,6 @@ if [[ "$EXPOSE_PORT" != "on" && "$EXPOSE_PORT" != "off" ]]; then
exit 1
fi
# Set test pattern for real plugin test
if [[ "$TEST_REAL_PLUGIN" == "on" ]]; then
TEST_PATTERN="real-plugin.spec.ts"
echo "🔌 Real Plugin Test Mode: ON"
echo " Will run: tests/real-plugin.spec.ts"
echo " Requires vps.t1 to have OpenClaw plugin installed"
fi
# Select compose file based on expose-port
if [[ "$EXPOSE_PORT" == "on" ]]; then
COMPOSE_FILE="docker-compose-frontend-expose.yml"
@@ -125,15 +110,9 @@ fi
echo "✅ Services ready!"
# Run test
# Run test using the image default CMD so proxy startup stays inside Frontend.Test Dockerfile
echo "🧪 Running test..."
if [[ -n "$TEST_PATTERN" ]]; then
# Run specific test for real plugin
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test npx playwright test tests/real-plugin.spec.ts --reporter=list
else
# Run all tests
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test
fi
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test
TEST_EXIT_CODE=$?
# Cleanup decision based on expose-port
@@ -143,7 +122,7 @@ if [[ "$EXPOSE_PORT" == "on" ]]; then
echo " Use './run-test-frontend.sh --expose-port on' to cleanup"
echo " Or manually: docker compose -f $COMPOSE_FILE down -v"
echo ""
if [ $TEST_EXIT_CODE -eq 0 ]; then
echo "✅ Test passed!"
else
@@ -153,7 +132,7 @@ else
echo ""
echo "🧹 Cleaning up containers and volumes..."
docker compose -f "$COMPOSE_FILE" down -v
if [ $TEST_EXIT_CODE -eq 0 ]; then
echo "✅ Test passed!"
else