Skip to content

[Test] Add MockBcForgeClient, property-based tests, and test scaffold…#103

Merged
p3ris0n merged 1 commit into
BCPathway:mainfrom
Ceejaytech25:test/mock-e2e-fuzz-proptest
May 26, 2026
Merged

[Test] Add MockBcForgeClient, property-based tests, and test scaffold…#103
p3ris0n merged 1 commit into
BCPathway:mainfrom
Ceejaytech25:test/mock-e2e-fuzz-proptest

Conversation

@Ceejaytech25
Copy link
Copy Markdown
Contributor

[Test] Add Mock SDK, E2E, Property-Based, and Fuzz Testing

Summary

This PR implements the following test-related enhancements:

1. Mock SDK Client (#94)

  • Adds MockBcForgeClient to the SDK.
  • Provides an in-memory mock for frontend developers to test logic without a live Soroban RPC.
  • Supports mint, transfer, approve, transferFrom, and allowance logic.

2. Property-Based Testing (#96)

  • Integrates the proptest crate in the token contract.
  • Adds property-based tests for minting, transferring, and burning tokens.
  • Verifies supply invariants and edge cases for arithmetic operations.

3. E2E Testing with Stellar Local Sandbox (#95)

  • Adds scaffolding for end-to-end tests using a local Stellar network.
  • Prepares for contract + SDK integration tests with stellar-cli local network.

4. Fuzz Testing for Core Token Logic (#97)

  • Adds fuzzing scenarios for the token contract state machine.
  • Targets panic conditions and edge cases using property-based and fuzz tests.

All changes are on branch: test/mock-e2e-fuzz-proptest

Closes #94
Closes #95
Closes #96
Closes #97

@Ceejaytech25
Copy link
Copy Markdown
Contributor Author

@p3ris0n , pls review PR

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 26, 2026

@Ceejaytech25 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! 🚀

Learn more about application limits

@p3ris0n p3ris0n merged commit b6063f7 into BCPathway:main May 26, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants