make test-frontend runs against a stack of its own
The suite creates and deletes flows, dashboards and users, and ran against whatever stack was up, which is the dev instance's data. make test-stack starts the compose project fluksio-test (compose.test.yml over the local stack's files) with its own containers, volumes and image tags, served by the local Traefik on app.test.localhost and api.test.localhost, and leaves it running. The hostname is fixed, so it no longer comes off the running dev stack, and a LAN stack makes no difference. The suite's default origin is the test stack.
This commit is contained in:
+13
-6
@@ -129,12 +129,19 @@ SQLite file in a temp directory (deleted per session, so a run never touches dev
|
||||
data), its own superuser, and `ENVIRONMENT=local` with `DOMAIN=localhost`, so a checkout
|
||||
configured for a deployment cannot drag that deployment's configuration into the run.
|
||||
|
||||
**Frontend (e2e).** `make test-frontend` runs the suite inside the pinned
|
||||
`mcr.microsoft.com/playwright:v<version>-noble` image (version read from
|
||||
`frontend/package.json`) on the `proxy` network, against a stack that must already be up. It
|
||||
maps `app.$(DOMAIN)` and `api.$(DOMAIN)` onto the Traefik container's address twice, with
|
||||
`--add-host` and with `HOST_RESOLVER_RULES`, because Chromium pins `*.localhost` to loopback
|
||||
whatever `/etc/hosts` says. Narrow a run with
|
||||
**Frontend (e2e).** `make test-frontend` runs the suite against a stack of its own, because
|
||||
the suite creates and deletes flows, dashboards and users. `make test-stack`, which it runs
|
||||
first, starts or updates the compose project `fluksio-test` (`docker/compose.test.yml` over the
|
||||
local stack's files), with its own containers, volumes and image tags. The local Traefik serves
|
||||
it on `app.test.localhost` and `api.test.localhost`, so `make dev` has to be up, in either
|
||||
mode: the test stack never layers `compose.lan.yml` and publishes no port. It stays running
|
||||
after a run for a look at a failure, `make down` stops it, and its volumes are expendable
|
||||
(`docker compose -p fluksio-test down -v` starts it over).
|
||||
|
||||
The suite runs inside the pinned `mcr.microsoft.com/playwright:v<version>-noble` image
|
||||
(version read from `frontend/package.json`) on the `proxy` network. It maps both names onto
|
||||
the Traefik container's address twice, with `--add-host` and with `HOST_RESOLVER_RULES`,
|
||||
because Chromium pins `*.localhost` to loopback whatever `/etc/hosts` says. Narrow a run with
|
||||
`make test-frontend PLAYWRIGHT_ARGS="--grep flows"`.
|
||||
|
||||
The specs are `frontend/tests/*.spec.ts`; `playwright.config.ts` defines `setup` →
|
||||
|
||||
Reference in New Issue
Block a user