Skip to content

feat(contract): shared Env fixtures for cross-contract integration tests - #796

Merged
aji70 merged 1 commit into
MyFanss:mainfrom
favourawaku:feat/shared-env-fixtures
Apr 23, 2026
Merged

feat(contract): shared Env fixtures for cross-contract integration tests#796
aji70 merged 1 commit into
MyFanss:mainfrom
favourawaku:feat/shared-env-fixtures

Conversation

@favourawaku

Copy link
Copy Markdown
Contributor
  • Add myfans-lib/src/test_fixtures.rs: TestEnv struct with mock_all_auths, raised TTLs, pre-generated addresses (admin, fee_recipient, creator, fan), Stellar-asset token registration, mint() and advance_ledger() helpers
  • Expose test_fixtures module from myfans-lib behind testutils feature flag
  • Add [[test]] target + testutils feature to subscription/Cargo.toml so the integration test binary gets soroban-sdk/testutils
  • Add myfans-lib testutils dev-dep to subscription
  • Rewrite contract_integration.rs to use TestEnv (zero per-test boilerplate)
  • Add 5 new integration tests:
    • test_fixture_isolation_between_test_envs
    • test_subscription_expires_after_advance_ledger
    • test_shared_token_balance_consistency_across_contracts
    • test_cancel_subscription_via_shared_fixture
    • test_duplicate_content_unlock_is_idempotent_via_shared_fixture
  • 48 unit + 6 integration tests pass
    closes Cross-contract integration test harness #618

- Add myfans-lib/src/test_fixtures.rs: TestEnv struct with mock_all_auths,
  raised TTLs, pre-generated addresses (admin, fee_recipient, creator, fan),
  Stellar-asset token registration, mint() and advance_ledger() helpers
- Expose test_fixtures module from myfans-lib behind testutils feature flag
- Add [[test]] target + testutils feature to subscription/Cargo.toml so the
  integration test binary gets soroban-sdk/testutils
- Add myfans-lib testutils dev-dep to subscription
- Rewrite contract_integration.rs to use TestEnv (zero per-test boilerplate)
- Add 5 new integration tests:
    * test_fixture_isolation_between_test_envs
    * test_subscription_expires_after_advance_ledger
    * test_shared_token_balance_consistency_across_contracts
    * test_cancel_subscription_via_shared_fixture
    * test_duplicate_content_unlock_is_idempotent_via_shared_fixture
- 48 unit + 6 integration tests pass
@drips-wave

drips-wave Bot commented Apr 23, 2026

Copy link
Copy Markdown

@favourawaku 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

@aji70
aji70 merged commit 4fef733 into MyFanss:main Apr 23, 2026
3 of 9 checks passed
aji70 added a commit that referenced this pull request Apr 30, 2026
feat(contract): shared Env fixtures for cross-contract integration tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cross-contract integration test harness

2 participants