Skip to content

test(#617): add deterministic event ordering test for resolve_market#699

Merged
greatest0fallt1me merged 1 commit into
Predictify-org:masterfrom
Ebenezer199914:test/617-resolve-market-event-ordering
Jun 27, 2026
Merged

test(#617): add deterministic event ordering test for resolve_market#699
greatest0fallt1me merged 1 commit into
Predictify-org:masterfrom
Ebenezer199914:test/617-resolve-market-event-ordering

Conversation

@Ebenezer199914

Copy link
Copy Markdown
Contributor

Summary

Resolves #617 — adds deterministic event ordering tests and documents the event emission contract for resolve_market.

Changes

contracts/predictify-hybrid/src/lib.rs

  • Added # Event Ordering Contract section to resolve_market rustdoc, specifying the exact sequence:
    mkt_resst_chngidx_transition

contracts/predictify-hybrid/src/resolution_event_ordering_tests.rs

Three tests covering the full acceptance criteria:

Test Purpose
test_resolve_market_emits_events_in_deterministic_order Single-winner: asserts mkt_res < st_chng < idx_transition
test_event_ordering_preserved_on_tie_outcome Tie-outcome edge case: same ordering holds when community vote is split 50/50
test_no_resolution_events_emitted_when_resolution_fails Negative: no resolution events emitted if oracle result is absent

Acceptance Criteria

  • Ordering documented in lib.rs rustdoc
  • Tests assert exact sequence
  • Includes regression note in test header
  • No unwrap() introduced
  • Covers tie-outcome edge case

Testing

All three tests call MarketResolutionManager::resolve_market directly and introspect env.events().all() — no reliance on exact ledger timestamps.

…esolve_market

- Document event ordering contract in resolve_market rustdoc:
  mkt_res → st_chng → idx_transition (deterministic sequence)
- Add test: single-winner ordering (test_resolve_market_emits_events_in_deterministic_order)
- Add test: tie-outcome ordering preserved (test_event_ordering_preserved_on_tie_outcome)
- Add test: no events emitted on failed resolution (negative case)
- Register resolution_event_ordering_tests module under #[cfg(test)]

Closes Predictify-org#617
@greatest0fallt1me greatest0fallt1me merged commit f2182a0 into Predictify-org:master Jun 27, 2026
1 check failed
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.

Add deterministic event ordering test for emit sequence in resolve_market

2 participants