Skip to content

[Split Tracking] End-to-end testing and regression verification #34

@joelhalen

Description

@joelhalen

Overview

Part of #28 — Split GP Tracking feature.

Once all implementation sub-issues are complete, this tracks end-to-end verification to ensure the feature works correctly and that groups without split tracking are unaffected.

Verification Checklist

Happy Path

  • Submit a drop via webhook with players_included containing valid group members for a group with split_gp_tracking = 1.
    • drop_splits table has one row per non-receiver participant.
    • leaderboard:{partition}:group:{group_id} sorted set scores receiver and each participant equally at split_value.
    • Global leaderboard:{partition} score for receiver is unchanged (full total_value).
    • player:{id}:{partition}:total_loot for receiver is unchanged.

Entry Modifier — Edit Value

  • Use "Modify Entry" → "Edit Value" on a split drop. Confirm DropSplit rows are updated and group leaderboard scores reflect the new split_value for all participants.

Entry Modifier — Modify Splits

  • Use "Modify Entry" → "Modify Splits" to add a new participant. Confirm new DropSplit row created, group leaderboard score added for new participant, recalculated for existing ones.
  • Remove all split participants. Confirm DropSplit rows deleted, receiver's group leaderboard score restored to full_value.

Entry Modifier — Delete

  • Delete a split drop via context menu. Confirm all DropSplit rows deleted and all participant group leaderboard scores corrected.

Entry Modifier — Hide / Unhide

  • Hide a split drop. Confirm split participant leaderboard scores are removed. Confirm DropSplit rows are preserved.
  • Unhide the same drop. Confirm split credits are re-applied correctly.

Force Rebuild

  • Call force_update_player() for a split participant (not the receiver). Confirm their group leaderboard score is rebuilt correctly from drop_splits.

Regression — Non-split Groups

  • Submit a drop for a group without split_gp_tracking. Confirm no DropSplit rows are written and leaderboard behaviour is identical to before this feature.

Toggle Command

  • Run /toggle-split-tracking in a Discord server linked to a group. Confirm config key is written and the ephemeral confirmation message shows the correct new state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions