package service import ( "github.com/QuantumNous/new-api/common" "github.com/QuantumNous/new-api/model" "github.com/stretchr/testify/assert" "testing" ) func TestGroupProbeHistoryKeepsLatestEighteen(t *testing.T) { tasks := []model.SystemTask{} for i := 20; i > 0; i-- { state, _ := common.Marshal(ChannelAvailabilityState{Rounds: []ChannelAvailabilityRound{{ChannelID: 1, At: int64(i), Success: i != 20}, {ChannelID: 2, At: int64(i), Success: true}}}) tasks = append(tasks, model.SystemTask{Type: model.SystemTaskTypeChannelAvailability, State: string(state)}) } history := GroupProbeHistory([]int{1, 2}, tasks) assert.Len(t, history, 18) assert.Equal(t, int64(3), history[0].At) assert.Equal(t, 2, history[17].Status) assert.Empty(t, GroupProbeHistory([]int{3}, tasks)) }