33 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# UI Auth Smoke Job (Playwright)
 | 
						|
 | 
						|
The DevOps Guild tracks **DEVOPS-UI-13-006** to wire the new Playwright auth
 | 
						|
smoke checks into CI and the Offline Kit pipeline. These tests exercise the
 | 
						|
Angular UI login flow against a stubbed Authority instance to verify that
 | 
						|
`/config.json` is discovered, DPoP proofs are minted, and error handling is
 | 
						|
surfaced when the backend rejects a request.
 | 
						|
 | 
						|
## What the job does
 | 
						|
 | 
						|
1. Builds the UI bundle (or consumes the artifact from the release pipeline).
 | 
						|
2. Copies the environment stub from `src/config/config.sample.json` into the
 | 
						|
   runtime directory as `config.json` so the UI can bootstrap without a live
 | 
						|
   gateway.
 | 
						|
3. Runs `npm run test:e2e`, which launches Playwright with the auth fixtures
 | 
						|
   under `tests/e2e/auth.spec.ts`:
 | 
						|
   - Validates that the Sign-in button generates an Authorization Code + PKCE
 | 
						|
     redirect to `https://authority.local/connect/authorize`.
 | 
						|
   - Confirms the callback view shows an actionable error when the redirect is
 | 
						|
     missing the pending login state.
 | 
						|
4. Publishes JUnit + Playwright traces (retain-on-failure) for troubleshooting.
 | 
						|
 | 
						|
## Pipeline integration notes
 | 
						|
 | 
						|
- Chromium must already be available (`npx playwright install --with-deps`).
 | 
						|
- Set `PLAYWRIGHT_BASE_URL` if the UI serves on a non-default host/port.
 | 
						|
- For Offline Kit packaging, bundle the Playwright browser cache under
 | 
						|
  `.cache/ms-playwright/` so the job runs without network access.
 | 
						|
- Failures should block release promotion; export the traces to the artifacts
 | 
						|
  tab for debugging.
 | 
						|
 | 
						|
Refer to `ops/devops/TASKS.md` (DEVOPS-UI-13-006) for progress and ownership.
 |