A 4-file PR fixing locale-sensitive label persistence had 50% of its requirements completely untested β including the core user-facing behavior.
Every requirement extracted from the PR, mapped to existing tests and verified against the codebase. Click any row to see the search evidence.
Coverage Distribution
Requirement Coverage
| # | Requirement | Code Symbol | Existing Test | Status | |
|---|---|---|---|---|---|
R1 Object labels persist after locale switch resolveObject Unit PARTIAL | |||||
R2 Field labels persist after locale switch resolveField Unit PARTIAL | |||||
R3 Uncustomized objects show translation resolveObject Integration COVERED | |||||
R4 Custom names in record list headers β None GAP | |||||
R5 Customization persists globally β None GAP | |||||
R6 API returns custom label in any locale β None GAP | |||||
R7 Empty override doesn't blank label resolveField Unit COVERED | |||||
R8 Filter/sort show custom names β None GAP | |||||
R9 Bulk customizations survive round-trip β None GAP | |||||
R10 Removing customization restores translation resolveField Unit (partial) PARTIAL | |||||
Object labels persist after locale switch
Field labels persist after locale switch
Uncustomized objects show translation
Custom names in record list headers
Customization persists globally
API returns custom label in any locale
Empty override doesn't blank label
Filter/sort show custom names
Bulk customizations survive round-trip
Removing customization restores translation
These gaps were verified by searching the repository's test directories. Each finding includes the exact search query and result so you can reproduce it yourself.
Searched twenty-front tests + twenty-e2e-testing β 0 results for locale + data model. ExperienceSection POM has selectLanguage() but no spec uses it.
object-metadata-i18n.integration-spec.ts only tests standard labels (CompanyβEntreprise). No test for customized labels via API.
All existing tests use single object/field. No test validates 5+ customized objects surviving locale round-trip.
| Requirement | Before | After |
|---|---|---|
| Object labels persist after locale switch | β Unit | β Unit + E2E |
| Field labels persist after locale switch | β Unit | β Unit + E2E |
| Uncustomized objects show translation | β Integration | β Integration |
| Custom names in record list headers | β None | β E2E |
| Customization persists globally (all locales) | β None | β Integration + E2E |
| API returns custom label in any locale | β None | β Integration |
| Empty override doesn't blank label | β Unit | β Unit |
| Filter/sort show custom names | β None | β E2E |
| Bulk customizations survive round-trip | β None | β E2E |
| Removing customization restores translation | ~ Partial | β Unit + E2E |
Every finding in this analysis is based on a public GitHub repository. Clone the repo, run the searches we documented, and see the same results. No black boxes.