test(dogfood): complete field-zoo round-trip matrix over every existing field type#2033
Merged
Conversation
…isting field type The matrix covered ~26 of field-zoo's ~47 types; this closes the gap so every existing authorable field type has a real HTTP round-trip proof, not just a static registration. No source change was needed — all the newly covered types already round-trip correctly, which is the point: this locks the existing surface in as a regression gate. Added coverage: - text family: markdown, html, richtext, code, signature, qrcode - temporal: datetime (instant preserved exactly) - structured JSON: vector, composite, repeater, location, address, image, file, avatar - relational: lookup, master_detail, tree (value fidelity — id string round-trips; FK/$expand covered elsewhere) - security: secret (encrypt-on-write, masked to SECRET_MASK on read), password (persists; generic path is opaque, auth owns hashing) f_summary is intentionally excluded (computed roll-up, null on a childless fixture row). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckNo hand-written docs reference the 1 changed package(s). ✅ |
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.
Follow-up to #2025 / #2028. The user's steer: adding new field types is an extreme case — first make sure the existing field types are OK.
The dogfood field-zoo matrix covered ~26 of field-zoo's ~47 types; the rest were only static-registered (the bundle loads them) but never written and read back over the real stack. This closes that gap.
Result
No source change was needed — every newly-covered existing type already round-trips correctly. That's the point: this locks the existing field-type surface in as a runtime regression gate. (The only real leaks —
rating/slider/toggle/progress— were already fixed in #2025/#2028.)Added coverage
markdown,html,richtext,code,signature,qrcodedatetime— exact instant preserved (2024-03-15T14:30:00.000Zround-trips verbatim)vector,composite,repeater,location,address,image,file,avatarlookup,master_detail,tree— value fidelity (id string round-trips). FK enforcement is off in this harness, so this asserts the stored type doesn't drift, not referential integrity /$expand(covered elsewhere).secret(encrypt-on-write, masked toSECRET_MASKon read — verified plaintext never echoes back over HTTP),password(persists; the generic CRUD path stores it opaquely, auth owns hashing).f_summaryis intentionally excluded (computed roll-up, null on a childless fixture row — covered by dedicated roll-up tests).Verification
Dogfood field-zoo HTTP round-trip: 46 passed (was 22 at #2022).
🤖 Generated with Claude Code