mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 00:14:00 +00:00
fix(multiplayer): finalize empty ranked seasons
This commit is contained in:
@@ -1255,6 +1255,26 @@ func TestPostgreSQLRankedSeasonRolloverIsExactlyOnce(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPostgreSQLEmptyRankedSeasonIsMarkedRolledOver(t *testing.T) {
|
||||
db := openIntegrationPostgres(t)
|
||||
applyIntegrationMigrations(t, db)
|
||||
now := time.Now().UTC().Truncate(time.Microsecond)
|
||||
ctx := context.Background()
|
||||
if _, err := db.ExecContext(ctx, `INSERT INTO seasons (season_id, playlist, starts_at, ends_at) VALUES ('empty-season', 'ranked', $1, $2)`, now.Add(-12*7*24*time.Hour), now); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if count, err := RolloverDueSeasons(ctx, db, now, 100); err != nil || count != 0 {
|
||||
t.Fatalf("empty-season maintenance count=%d err=%v", count, err)
|
||||
}
|
||||
var rolledAt sql.NullTime
|
||||
if err := db.QueryRowContext(ctx, `SELECT rolled_over_at FROM seasons WHERE season_id = 'empty-season'`).Scan(&rolledAt); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !rolledAt.Valid {
|
||||
t.Fatal("empty ranked season was not marked rolled over")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPostgreSQLMigrationsAreForwardExecutable(t *testing.T) {
|
||||
db := openIntegrationPostgres(t)
|
||||
applyIntegrationMigrations(t, db)
|
||||
|
||||
Reference in New Issue
Block a user