Files
web_huangguo_web/app/service/playletser/series_view_test.go
T
fish03andClaude Opus 5.5 bef9f8b4ed Initial commit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 14:43:16 +07:00

54 lines
1.7 KiB
Go

package playletser
import "testing"
func TestParseSeriesQueryMapsSwaggerOperateFilters(t *testing.T) {
tests := []struct {
slug string
wantFilter int
}{
{slug: "", wantFilter: seriesFilterLatest},
{slug: "latest", wantFilter: seriesFilterLatest},
{slug: "popular", wantFilter: seriesFilterHot},
{slug: "original", wantFilter: seriesFilterOrigin},
}
for _, tt := range tests {
q, ok := ParseSeriesQuery(tt.slug, "2")
if !ok {
t.Fatalf("ParseSeriesQuery(%q) rejected valid filter", tt.slug)
}
if q.OperateType != 2 || q.FilterType != tt.wantFilter || q.PageNum != 2 || q.PageSize != 25 {
t.Fatalf("ParseSeriesQuery(%q) = %#v", tt.slug, q)
}
}
if _, ok := ParseSeriesQuery("unknown", "1"); ok {
t.Fatal("unknown filter should be rejected")
}
}
func TestSeriesCanonicalPaths(t *testing.T) {
tests := []struct {
filter int
page int
want string
}{
{filter: seriesFilterLatest, page: 1, want: "/series"},
{filter: seriesFilterLatest, page: 3, want: "/series/page/3"},
{filter: seriesFilterHot, page: 1, want: "/series/popular"},
{filter: seriesFilterOrigin, page: 4, want: "/series/original/page/4"},
}
for _, tt := range tests {
got := seriesPageURL(tt.filter, tt.page)
if got != tt.want {
t.Fatalf("seriesPageURL(%d, %d) = %q, want %q", tt.filter, tt.page, got, tt.want)
}
}
}
func TestBuildSeriesFilterTabs(t *testing.T) {
tabs := BuildSeriesFilterTabs(OperateListQuery{OperateType: 2, FilterType: 2, PageNum: 1, PageSize: 25})
if len(tabs) != 3 || tabs[0].URL != "/series" || tabs[1].URL != "/series/popular" || !tabs[1].Active || tabs[2].URL != "/series/original" {
t.Fatalf("unexpected series tabs: %#v", tabs)
}
}