36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# Issue #207 Artifact — da/en locale switch + audio routing (primary-only)
|
|
|
|
## Scope
|
|
Acceptance for `[READY][i18n][P19]`:
|
|
1. Verify one MVP host+player flow in both `en` and `da` locale context.
|
|
2. Verify controlled fallback to `en` when a locale key is missing.
|
|
3. Verify audio-routing policy is primary-only (client/player has no audio output).
|
|
|
|
No new feature behavior added — this is verification-only evidence.
|
|
|
|
## Smoke/e2e evidence (Angular shell test run)
|
|
Executed from `frontend/angular`:
|
|
|
|
```bash
|
|
npm test -- --reporter=dot src/app/lobby-i18n.spec.ts src/app/features/host/host-shell.component.spec.ts src/app/features/player/player-shell.component.spec.ts
|
|
```
|
|
|
|
Evidence covered by the run:
|
|
- `lobby-i18n.spec.ts`
|
|
- subscriber locale switch updates (`en -> da -> en`)
|
|
- controlled fallback where `da` key is removed during test and `en` copy is returned
|
|
- `clientHasNoAudioOutput === true` (primary-only audio routing)
|
|
- `host-shell.component.spec.ts`
|
|
- host actions and route sync in SPA (no reload)
|
|
- `player-shell.component.spec.ts`
|
|
- player session refresh/sync path and retry behavior
|
|
|
|
## Policy evidence
|
|
- Shared catalog capability: `shared/i18n/lobby.json`
|
|
- `frontend.capabilities.client_has_no_audio_output = true`
|
|
- Angular host/player shells bind this capability:
|
|
- `HostShellComponent.clientHasNoAudioOutput`
|
|
- `PlayerShellComponent.clientHasNoAudioOutput`
|
|
|
|
Conclusion: locale switching works in `da`/`en`, fallback resolves to `en` when locale key is intentionally missing, and client audio remains disabled by policy (`primary-only`).
|