Files
huangguo_server/models/v/vidmod/free_trial_response_test.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

55 lines
1.2 KiB
Go

package vidmod
import (
"encoding/json"
"strings"
"testing"
)
func TestWatchCountRespJSONIncludesTotal(t *testing.T) {
data, err := json.Marshal(WatchCountResp{
IsCan: true,
WatchCount: 2,
TotalWatchCount: 3,
})
if err != nil {
t.Fatal(err)
}
if !strings.Contains(string(data), `"totalWatchCount":3`) {
t.Fatalf("totalWatchCount missing from response: %s", data)
}
}
func TestVideoInfoIncludesFreeTrialFieldsWhenFalse(t *testing.T) {
for name, value := range map[string]interface{}{
"VideoInfo": VideoInfo{},
"VideoInfoResp": VideoInfoResp{},
} {
t.Run(name, func(t *testing.T) {
data, err := json.Marshal(value)
if err != nil {
t.Fatal(err)
}
for _, field := range []string{
`"showFreeTrialBadge":false`,
`"freeTrialRemaining":0`,
`"canUseFreeTrial":false`,
} {
if !strings.Contains(string(data), field) {
t.Fatalf("%s missing from response: %s", field, data)
}
}
})
}
}
func TestVideoInfoRespIncludesFreeArea(t *testing.T) {
data, err := json.Marshal(VideoInfoResp{FreeArea: true})
if err != nil {
t.Fatal(err)
}
if !strings.Contains(string(data), `"freeArea":true`) {
t.Fatalf("freeArea missing from response: %s", data)
}
}