Enhance roster management by implementing cross-role player swapping and updating player movement logic. Introduce rating checks for player roles during roster operations and ensure proper handling of captain assignments. Update frontend components to reflect changes in player movement capabilities.
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / compose (push) Has been cancelled

This commit is contained in:
2026-07-19 02:44:30 +03:00
parent f468f9df82
commit 23ba04beef
4 changed files with 107 additions and 12 deletions

View File

@@ -67,12 +67,20 @@ func TestRosterDragOperationsPreserveEmptyRoleSlots(t *testing.T) {
if err := roster.MoveToReserve("b", "b-t"); err != nil {
t.Fatal(err)
}
if err := roster.MoveToEmpty("a", "reserve", "b", Tank); err != nil {
if err := roster.MoveToEmpty("a", "reserve", "b", Tank, 31); err != nil {
t.Fatal(err)
}
if roster.Teams[1].Slots[0].PlayerID != "reserve" {
t.Fatal("dragging into an empty role slot did not move the player")
}
roster.Teams[0].CaptainPlayerID = "a-d1"
roster.Teams[1].CaptainPlayerID = "reserve"
if err := roster.SwapAcrossRoles("a", "a-d1", "b", "reserve", 25, 33); err != nil {
t.Fatalf("cross-role drag swap failed: %v", err)
}
if roster.Teams[0].CaptainPlayerID != "" || roster.Teams[1].CaptainPlayerID != "" {
t.Fatal("captains that moved to another team were not cleared")
}
}
func TestSeriesFSMRunsCoinBansAndResult(t *testing.T) {