Skip to content

Add integration test: token-swap offer fill/cancel edge cases #39

Description

@christabel888

Context: Hardening pass before the analytics pivot leans on these contracts more heavily for indexing.

Where:

  • token-swap/src/test.rs -- token-swap has an existing token-swap/src/test.rs

What to do:

  • Add test coverage for offer fill and cancel edge cases (partial fill, double-cancel, filling a cancelled offer).
  • Follow the existing test conventions used elsewhere in the workspace (e.g. escrow/src/test.rs, governance/src/test.rs) for env/contract setup boilerplate.

Suggested approach:

  1. Read token-swap/src/lib.rs end to end first -- write down every state transition and every Result::Err path before writing a single test, so you're testing behavior you've actually verified exists, not behavior you assume exists.
  2. Cover the happy path first, then the specific edge case named in this issue, then at least one "should fail" case (wrong caller, wrong state, etc.).
  3. Use Soroban's test Env with Env::default() and mock auths (env.mock_all_auths() or targeted auth mocking) matching the pattern already used in sibling test files.
  4. Add your new test function(s) alongside the existing ones in token-swap/src/test.rs, matching its existing setup helpers rather than duplicating them.

Watch out for:

Definition of done:

  • New test(s) added covering the scenario above
  • cargo test -p token-swap passes
  • Test also runs under the workspace-wide cargo test

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions