test(coverage): add 9 test modules for contract test coverage push#53
Conversation
|
Warning Review limit reached
More reviews will be available in 49 minutes and 53 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
bdf0b11 to
efec66a
Compare
…coverage push Implements the full test coverage matrix from issue boundlessfi#25: events: - token_whitelist: register/deregister token support + create_event gate - cancel_refund: paged cancel flow (OwnerOnly, FullPartnerThenResidual, ProRata, pagination, all error variants) - escrow_fee_math: fee override, waiver, add_funds rate snapshot, MAX_FEE_BPS guard, single/split payout math - grant_pillar: Multi release required, fixed-split milestone math, last-milestone dust sweep, credit/rep side-effects, all errors - bounty_pillar: Single release required, apply/withdraw/submit gate, credit charge and 50% refund, select_winners pay+profile, all errors - hackathon_pillar: Single+deadline required, open submit model, multi-recipient distribution, cancel refund, all errors profile: - credits: bootstrap, spend/earn/refund/admin_grant, all error variants - reputation: bump/slash/admin_slash, saturation, all error variants - earnings: register, zero/negative guard, multi-user/token tracking, i128::MAX saturation, op replay guard 203 tests passing (146 events + 57 profile). Snapshots regenerated. Closes boundlessfi#25
efec66a to
9856ab4
Compare
|
Replaced by #54, opened from the correct account (Josue19-08). It was a mistake, as I had submitted it using my work account instead of my personal account. |
Description
Implements the full test coverage matrix described in #25. Adds 9 new test modules (6 for
boundless-events, 3 forboundless-profile) covering every pillar, the paged cancel flow, escrow/fee math, the token whitelist, and all three profile operation surfaces. All tests use the native Soroban test harness with no mocks beyondmock_all_auths.Changes
boundless-events:
token_whitelist—register_supported_token,deregister_supported_token,create_eventrejection of unsupported/deregistered tokenscancel_refund— paged cancel flow:OwnerOnly,FullPartnerThenResidual,ProRata, pagination across batches, all error variantsescrow_fee_math— default fee, per-event override,add_fundsrate snapshot, waiver (0 bps),MAX_FEE_BPSguard, single/60-40 payout math, admin fee updategrant_pillar—Multirelease required, fixed-split milestone math, last-milestone dust sweep, credit/rep side-effects, all error variantsbounty_pillar—Singlerelease required, apply/withdraw/submit gate, credit charge + 50% refund,select_winnerspay+profile, all error variantshackathon_pillar—Single+deadline required, open submit model, multi-recipient distribution, cancel refund, all error variantsboundless-profile:
credits—bootstrap,spend/earn/refund/admin_grant, all error variants + op replay + authreputation—bump/slash/admin_slash, saturation, all error variants + op replay + authearnings—register_earnings, zero/negative guard, multi-user/token tracking,i128::MAXsaturation, op replay guardResult: 203 tests passing (146 events + 57 profile), zero warnings, snapshots regenerated and committed.
Closes
Closes #25
Notes
soroban_sdk::Vecshadowsstd::vec::Vecin test scope — array literals are used instead of.collect()to avoid the name collision.bump_saturates_at_max_u64was renamed tobump_large_values_accumulate_without_overflow; sincebump_reputationacceptsu32, reachingu64::MAXwould require 2^32 calls — the test instead verifies twou32::MAXbumps accumulate without integer overflow.