Skip to content

feat(verify): run the browser specs against an Angular app - #256

Merged
Bccorb merged 2 commits into
mainfrom
feat/verify-angular
Oct 9, 2026
Merged

Bccorb merged 2 commits into
mainfrom
feat/verify-angular

Conversation

@Bccorb

@Bccorb Bccorb commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Runs the browser conformance specs against an Angular app, for fells-code/seamless-auth-react#170 (the browser project item) under fells-code/seamless-auth-api#371.

What changes

New layers. angular and angular-dev Playwright projects point at the existing ./react specs, with no copy of the suite. @seamless-auth/angular keeps the React screens' accessible names, so the register, email OTP, magic link, passkey register and login, OAuth and logout specs run unchanged.

Reference app in verify/angular-app:

  • Angular 22, built on @seamless-auth/angular, with its own Dockerfile. The runtime target is nginx with /health and a runtime config.js. The dev target is ng serve.
  • The compose services are angular and angular-dev, with CI cache scopes.

Routing in the verify command:

  • A web template whose verify.project or framework is angular uses the new runtime. This is ready for seamless-templates#111.
  • Until one exists, the reference app runs.
  • SEAMLESS_ANGULAR_DIR points the run at another Angular app.

--local packs @seamless-auth/client and the built @seamless-auth/angular (from packages/angular/dist, which is what npm publishes) into verify/angular-vendor.

The matrix reporter knows the new layers, and the summary lists the Angular version.

fix(verify), a separate commit. Global setup checked the web app's /health on localhost. Node resolves that to ::1 first, while the browser is pinned to 127.0.0.1. A dev server left running on [::1]:5173 therefore answered the check while the container under test was still starting, and the first spec failed with ERR_CONNECTION_RESET. The check now uses the address the browser uses.

Checks (real output)

npx tsc --noEmit -p .     # no errors
npx vitest run            # Test Files 56 passed | 1 skipped (57) / Tests 1178 passed | 4 skipped (1182)

node dist/index.js verify --local --dev was run with:

All 9 layers passed:

✔  API / adapter                              45.6s
✔  Web · react-vite (all flows)               5.4s
✔  Web (dev) · react-vite (all flows)         5.6s
✔  Web · react-oauth (@oauth)                 849ms
✔  Web (dev) · react-oauth (@oauth)           983ms
✔  Web · angular-reference (all flows)        5.0s
✔  Web (dev) · angular-reference (all flows)  7.8s
✔  Full-stack · nextjs (all flows)            8.3s
✔  Full-stack (dev) · nextjs (all flows)      12.0s

Merge order

This is a draft until fells-code/seamless-auth-react#173 is merged and @seamless-auth/angular is published.

  • Conformance CI: it checks out the SDK at main, and without the Angular package the reference app has nothing to install.
  • Released smoke: it installs the published package.

Bccorb added 2 commits October 8, 2026 20:36
The browser projects are pinned to 127.0.0.1 with --host-resolver-rules, but
global setup checked http://localhost:5173/health from Node, which resolves
localhost to ::1 first. A dev server left running on [::1]:5173 answered the
check while the container under test was still starting, and the first spec
then failed with a connection reset.
Adds angular and angular-dev layers that drive an app on @seamless-auth/angular
through the same specs as the React template; its screens keep the same
accessible names. The reference app in verify/angular-app runs until an Angular
web template exists (seamless-templates#111), a web template whose framework or
verify.project is angular is routed to the same runtime, and
SEAMLESS_ANGULAR_DIR points the run at another app. With --local the client and
the built Angular package are packed into verify/angular-vendor.

Refs fells-code/seamless-auth-react#170, #246.
@Bccorb
Bccorb marked this pull request as ready for review October 9, 2026 00:36
@Bccorb
Bccorb force-pushed the feat/verify-angular branch from 40c9369 to 8eb2380 Compare October 9, 2026 00:36
@Bccorb
Bccorb merged commit f21c664 into main Oct 9, 2026
5 checks passed
@Bccorb
Bccorb deleted the feat/verify-angular branch October 9, 2026 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant