feat: implement comprehensive test fixtures using type builder #45
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.
This PR completely rewrites the test fixtures in
src/__tests__/fixtures.tsto use the type builder (t) instead of the schema builder (s), providing realistic schemas that cover all JSON Type node types.Changes Made
Replaced old schema-based fixtures with type-based realistic schemas:
t.object()and.opt()Node Type Coverage
All JSON Type node types are now represented:
any- Flexible data fieldsconst- Literal values and enumsboolean- Feature flags and status indicatorsnumber- Various formats (u16, u32, u64, f64) with constraintsstring- ASCII format with length validationbinary- File data with type informationarray- Collections with size constraintstuple- Fixed-length structured dataobject- Complex nested structuresmap- Dynamic key-value collectionsunion/or- Discriminated unions and flexible typesref- Cross-schema referencesfunction- Validation and processing functionsstreaming function- Real-time data streamsBackward Compatibility
Maintains compatibility with existing tests by providing the original
primitiveSchemas,compositeSchemas,allSchemas, andschemaCategoriesexports that convert the new type-based fixtures to schemas using.getSchema().The new fixtures provide more realistic and comprehensive examples while ensuring all tests continue to pass without modification.
Fixes #44.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.