feat: add ranked season maintenance role

This commit is contained in:
Josh Creek
2026-09-01 09:46:57 +01:00
parent e729570010
commit 4bbaf0976f
5 changed files with 167 additions and 3 deletions
+28
View File
@@ -0,0 +1,28 @@
package store
import (
"testing"
"time"
)
func TestMaintenanceSQLEnumeratesOnlyUnrolledRankedPlayers(t *testing.T) {
for _, fragment := range []string{"s.playlist = 'ranked'", "ends_at <= $1", "rr.player_id IS NULL", "ORDER BY s.ends_at", "LIMIT $2"} {
if !contains(DueSeasonRolloversSQL, fragment) {
t.Fatalf("due query missing %q", fragment)
}
}
for _, fragment := range []string{"rolled_over_at IS NULL", "NOT EXISTS", "ranked_season_rollovers"} {
if !contains(MarkSeasonRolledOverSQL, fragment) {
t.Fatalf("mark query missing %q", fragment)
}
}
}
func TestRolloverDueSeasonsRejectsUnboundedMaintenance(t *testing.T) {
if _, err := RolloverDueSeasons(nil, nil, time.Unix(1000, 0), 0); err == nil {
t.Fatal("zero batch accepted")
}
if _, err := RolloverDueSeasons(nil, nil, time.Unix(1000, 0), 1001); err == nil {
t.Fatal("oversized batch accepted")
}
}