Files
box-box/internal/api/session_selection_test.go

61 lines
1.3 KiB
Go
Raw Normal View History

package api
import (
"testing"
"time"
"github.com/AmanTahiliani/box-box/internal/models"
)
func TestLatestCompletedRaceSessionKeyUsesDatesNotInputOrder(t *testing.T) {
now := time.Date(2026, 1, 1, 0, 0, 0, 0, time.UTC)
sessions := []models.Session{
{
SessionKey: 1,
SessionName: "Race",
DateStart: "2025-12-01T13:00:00+00:00",
DateEnd: "2025-12-01T15:00:00+00:00",
},
{
SessionKey: 2,
SessionName: "Race",
DateStart: "2025-03-01T13:00:00+00:00",
DateEnd: "2025-03-01T15:00:00+00:00",
},
}
sessionKey, ok := latestCompletedRaceSessionKey(sessions, now)
if !ok {
t.Fatal("expected a completed race")
}
if sessionKey != 1 {
t.Fatalf("sessionKey = %d, want 1", sessionKey)
}
}
func TestLatestCompletedRaceSessionKeyIgnoresFutureSessions(t *testing.T) {
now := time.Date(2025, 6, 1, 0, 0, 0, 0, time.UTC)
sessions := []models.Session{
{
SessionKey: 1,
SessionName: "Race",
DateStart: "2025-12-01T13:00:00+00:00",
DateEnd: "2025-12-01T15:00:00+00:00",
},
{
SessionKey: 2,
SessionName: "Race",
DateStart: "2025-05-01T13:00:00+00:00",
DateEnd: "2025-05-01T15:00:00+00:00",
},
}
sessionKey, ok := latestCompletedRaceSessionKey(sessions, now)
if !ok {
t.Fatal("expected a completed race")
}
if sessionKey != 2 {
t.Fatalf("sessionKey = %d, want 2", sessionKey)
}
}