From 701e0e8e919d2929ecc98b555e468bd29bf606cf Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Sat, 14 Feb 2026 15:44:02 -0800 Subject: Cleanup root directory by moving scripts to scripts/ and fix CSRF cookie policy for dev env --- scripts/run_e2e.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 scripts/run_e2e.sh (limited to 'scripts/run_e2e.sh') diff --git a/scripts/run_e2e.sh b/scripts/run_e2e.sh new file mode 100755 index 0000000..12d5f90 --- /dev/null +++ b/scripts/run_e2e.sh @@ -0,0 +1,47 @@ +#!/bin/bash +set -e + +# Cleanup function to kill the neko process and remove the test db +cleanup() { + echo "Cleaning up..." + if [ -n "$NEKO_PID" ]; then + kill $NEKO_PID 2>/dev/null || true + fi + rm -f neko_test.db +} + +# Register cleanup to run on exit +trap cleanup EXIT + +echo "Building neko..." +go build -o neko ./cmd/neko + +echo "Starting neko backend on port 4994..." +./neko -d neko_test.db -s 4994 > /dev/null 2>&1 & +NEKO_PID=$! + +echo "Waiting for backend to start..." +# simple wait loop +for i in {1..10}; do + if nc -z localhost 4994; then + echo "Backend is up!" + break + fi + sleep 1 +done + +echo "Running Playwright tests..." +cd frontend +# Ensure we use the correct credentials/config if needed by the tests +# The tests currently hardcode /v2/login but don't seem to have the password hardcoded in the fill step yet? +# Looking at e2e.spec.ts: await page.fill('#password', ''); - it fills empty string? +# usage of 'secret' matches nothing in the test. +# Let's check e2e.spec.ts again to match expectations exactly. +# In e2e.spec.ts: await page.fill('#password', ''); +# It implies it expects no password or ignores it? +# Or maybe the previous test run failed because of this too. +# I will set a simple password 'secret' and we might need to update the test to use it. +# Actually, let's look at the test content again. + +npm run test:e2e +cd .. -- cgit v1.2.3