Conversation
## Because - FXA-14361 served English to every locale and nothing failed. Every response was a 200, and the only symptom was untranslated copy. - `packages/functional-tests` has no l10n coverage, so neither PR CI nor the stage and production smoke runs would have caught it. ## This pull request - Adds `l10nBundleDelivery.spec.ts` under `tests/misc/`. It forces `de` with Playwright's `locale` context option, waits for the `main.ftl` response, then asserts a 200 and a body that parses as FTL. - Matches the plain path and the hashed manifest path, for example `locales/de/main.ebcab539.ftl`. - Tags the block `severity-1`. That is what the stage and production Playwright runs grep for. ## Issue that this pull request solves Closes: https://mozilla-hub.atlassian.net/browse/FXA-14366
Contributor
There was a problem hiding this comment.
Pull request overview
Adds functional coverage ensuring the German Fluent bundle is requested and valid in local, stage, and production environments.
Changes:
- Forces the browser locale to German.
- Supports plain and hashed bundle paths.
- Verifies a successful response containing FTL messages.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
dschom
approved these changes
Aug 19, 2026
5 tasks
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.
Because
packages/functional-testshas no l10n coverage, so neither PR CI nor the stage and production smoke runs would have caught it.This pull request
l10nBundleDelivery.spec.tsundertests/misc/. It forcesdewith Playwright'slocalecontext option, waits for themain.ftlresponse, then asserts a 200 and a body that parses as FTL.locales/de/main.ebcab539.ftl.severity-1. That is what the stage and production Playwright runs grep for.Issue that this pull request solves
Closes: https://mozilla-hub.atlassian.net/browse/FXA-14366
Checklist
Put an
xin the boxes that applyHow to review (Optional)
packages/functional-tests/tests/misc/l10nBundleDelivery.spec.tspage.goto, so a request that never happens keeps it pending and the test fails on timeout.Screenshots (Optional)
No user interface change.
Other information (Optional)
How the locale reaches the fetch:
public/lang-fix.jssetsdocument.documentElement.langfromnavigator.languages,getCurrentLocale()reads that value, andAppLocalizationProviderthen fetchesmain.ftlfor it.The test asserts nothing about the static asset manifest, so #21060 needs no rework here. It asserts no translated string and no FTL message id. The body check matches any message line, which rules out an error page served with a 200.
Read this before you approve: I did not run the spec, and I did not exercise the negative case against a running stack. To confirm it, remove the
demain.ftlentry from the manifest and check that the test fails.Verification done here:
npx tsc -p packages/functional-tests/tsconfig.json --noEmitreports only the three errors that already exist onmain, inlib/sub-helpers.tsandlib/testAccountTracker.ts.npx nx lint functional-testspasses with no finding on the new file.