feat: add type-level tests and improve test coverage#287
Conversation
|
@thegreatfeez is attempting to deploy a commit to the miracle656's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@thegreatfeez Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Miracle656
left a comment
There was a problem hiding this comment.
The type-level tests (test-d/index.test-d.ts), credential-format and xdr-roundtrip tests are valuable additions. Two things before this can merge:
- Conflicts — this branch is behind
mainand now conflicts. Please rebase on the latestmain(the sdkpackage-lock.jsonandtsconfig.jsonhave moved). - Scope — the PR also modifies
frontend/website/app/page.tsxandcomponents/WhyVeil.tsx, which seem unrelated to "type-level tests and test coverage." Could you split those out (or explain the connection)? Keeping the PR scoped to the SDK tests will make it much faster to review and merge.
Once rebased and scoped to the test work, I'll merge it.
|
Superseded by #297. Rebased on latest main and scoped to SDK tests only — frontend changes (WhyVeil.tsx, page.tsx) removed as requested. |
Summary
This PR introduces robust multi-layered testing infrastructure for the core SDK to protect against architectural regressions, while updating the marketing landing page to clearly articulate Veil's unique value proposition.
Related issue
Closes #257
Closes #260
Closes #261
Closes #262
Type of change
Component
Checklist
cargo testpasses (contracts)npm run typecheckpasses (wallet / sdk / agent)npm run buildpasses (wallet / agent)Description
This pull request implements stability enhancements, testing infrastructure, and critical positioning updates for both the SDK and the wallet frontend marketing components.
Key Deliverables
1. SDK Core Architecture & Stability
sdk/tests/xdr-roundtrip.test.tsto execute end-to-endencode → decode → assert deep equalitychecks across all transaction builder helpers to eliminate subtle serialization mutations.tsdinsdk/test-d/index.test-d.ts(10+ type assertions tracking high-traffic SDK return types). Integratednpm run test-dinto the pipeline viasdk/package.json.sdk/tests/credential-format.test.ts) using a v1 fixture configuration (sdk/tests/fixtures/credential-v1.json) to prevent storage deserialization breaks for existing wallets. Codified and documented the project's long-term format-stability policy.2. Frontend Marketing Positioning
frontend/website/components/WhyVeil.tsxinto the main application landing page (frontend/website/app/page.tsx).