package handler import ( "testing" "github.com/Wei-Shaw/sub2api/internal/service" "github.com/stretchr/testify/require" ) func TestShouldRecordGrokMediaUsage(t *testing.T) { tests := []struct { name string endpoint service.GrokMediaEndpoint model string want bool }{ { name: "image generation records usage", endpoint: service.GrokMediaEndpointImagesGenerations, model: "grok-imagine", want: true, }, { name: "image edit records usage", endpoint: service.GrokMediaEndpointImagesEdits, model: "grok-imagine-edit", want: true, }, { name: "video generation records usage", endpoint: service.GrokMediaEndpointVideosGenerations, model: "grok-imagine-video-1.5", want: true, }, { name: "video status skips empty model usage", endpoint: service.GrokMediaEndpointVideoStatus, model: "", want: false, }, { name: "generation skips usage without model", endpoint: service.GrokMediaEndpointImagesGenerations, model: " ", want: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { require.Equal(t, tt.want, shouldRecordGrokMediaUsage(tt.endpoint, tt.model)) }) } }