6adf6f71

Author: Michael Lynch <git@mtlynch.io>

Committer: Michael Lynch <mtlynch@noreply.codeberg.org>

Simplify e2e fixtures to one per-test server fixture (#322)

The old fixtures.ts split server management across two layers: a
worker-scoped workerServer fixture holding a restart() closure with
mutable state (serverProcess, log buffers, a nextDatabaseID counter),
plus a hidden test-scoped resetServer auto-fixture that called
restart() before every test. Since every test triggered a full seed-DB
copy and server process restart anyway, the worker scope only reused a
port number and a temp directory, both trivially cheap to recreate.

Replace the two layers with a single test-scoped auto fixture that,
for each test, copies the seed database into a fresh temp directory,
starts a dedicated server process on its own free port, and tears both
down afterwards. Server startup logic now lives in a startServer()
helper that captures stdout/stderr and includes it in startup errors,
matching the old diagnostics.

Behavior is unchanged: same env vars (LITTLE_MOMENTS_E2E_DB,
LITTLE_MOMENTS_E2E_MEDIA_DIR), same binary and flags, same /about
health poll with 15s timeout, same SIGTERM-then-SIGKILL shutdown, and
the same number of DB copies and process spawns per run.

Also rename loginAsAdmin to logInAsAdmin for consistency with logInAs
and logInAsSubscriber.

Verified with nix build .#e2e-tests: 19 passed (5.8s).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Reviewed-on: https://codeberg.org/mtlynch/little-moments/pulls/322
configuredeploy:deploy-to-flydevShellx86_64-linuxbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacedeploy-to-flydiagramdocker-imagee2e-testsgo-testsimport-from-tinybeansjs-testslint-sqllittle-momentslittle-moments-devx86_64-linux