Add fully-assembled self-host e2e suite (first scenario: org setup) - #879
Closed
RhysSullivan wants to merge 1 commit into
Closed
Add fully-assembled self-host e2e suite (first scenario: org setup)#879RhysSullivan wants to merge 1 commit into
RhysSullivan wants to merge 1 commit into
Conversation
Boots the real prod self-host server (bun src/serve.ts: built SPA + typed API + Better Auth + MCP) against a throwaway data dir and drives it in a real browser through its real surfaces — the seed of a realistic, host-parametric e2e suite. First scenario: a zero-config first run sets up an org. The browser fills the setup form, real Better Auth signup runs, and the org + owner are confirmed via the same API the signed-in console calls — so any broken seam between frontend, auth, API, and DB turns it red. Hermetic (in-process Better Auth + libSQL — no external services or secrets) and watchable: test:e2e:watch (headed + slowed), test:e2e:ui (time-travel UI), plus an HTML report + trace on every run. Fixtures keep the scenario reading as a user journey behind a SelfHostApp handle that is also the future host-driver seam.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-marketing | 4a29fbe | Commit Preview URL Branch Preview URL |
Jun 02 2026, 04:24 AM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-cloud | 4a29fbe | Jun 02 2026, 04:26 AM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Seeds a realistic, fully-assembled end-to-end suite for the self-host app.
What it does: boots the real production server (
bun src/serve.ts— built SPA + typed API + Better Auth + MCP) against a throwaway data dir and drives it in a real browser through its real surfaces. The bugs worth catching live in the assembly (frontend ↔ API ↔ auth ↔ DB), which only a fully-assembled run sees — request-level tests can't.First scenario —
org-setup.spec.ts: a zero-config first run sets up an org. The browser fills the setup form, real Better Auth signup runs, and the org + owner are confirmed via the same API the signed-in console calls. Any broken seam turns it red.Hermetic: in-process Better Auth + libSQL — no external services, no secrets, runnable in CI. A fresh data dir per run guarantees the first-run state.
Watchable:
bun run test:e2e:watch— headed + slowed, watch each step livebun run test:e2e:ui— Playwright time-travel UIplaywright show-trace)Designed to grow: scenarios talk to the app only through a
SelfHostAppfixture handle — never internals — so they read like user journeys and that handle is the seam where other host drivers (cloud, cloudflare) get swapped in later while the scenarios stay identical.Not wired into the CI gate yet (separate
test:e2escript) pending a flakiness read.