Skip to content

Add contract test: leave group edge cases#120

Open
WuXieSec wants to merge 1 commit intosorosave-protocol:mainfrom
WuXieSec:test/add-leave-edge-cases
Open

Add contract test: leave group edge cases#120
WuXieSec wants to merge 1 commit intosorosave-protocol:mainfrom
WuXieSec:test/add-leave-edge-cases

Conversation

@WuXieSec
Copy link
Copy Markdown

This PR adds comprehensive tests for leave_group edge cases, as requested in #29.

Changes:

  • Test admin cannot leave their own group
  • Test leaving during Active state fails
  • Test non-member leaving fails
  • Test leaving updates member_groups index
  • Test leave removes from members list
  • Test multiple members leaving

Why this matters:
These tests ensure:

  • Admins cannot abandon their groups
  • Members can only leave during Forming state
  • Non-members cannot trigger leave operations
  • Data consistency is maintained across indexes
  • Multiple members can leave without issues

Test coverage:

  • ❌ Admin leave own group → Unauthorized
  • ❌ Leave during Active state → GroupNotForming
  • ❌ Non-member leave → NotMember
  • ✅ Leave updates member_groups index
  • ✅ Leave removes from members list
  • ✅ Multiple members can leave sequentially

Closes #29

Changes:
- Test admin cannot leave their own group
- Test leaving during Active state fails
- Test non-member leaving fails
- Test leaving updates member_groups index
- Test leave removes from members list
- Test multiple members leaving

These tests ensure leave_group handles all edge cases
correctly and maintains data consistency.

Closes sorosave-protocol#29
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 contract test: leave group edge cases

1 participant