init: web_hgdjc_server
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package playletser
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
"videoweb/pub/models/homeconfigmod"
|
||||
"videoweb/pub/models/playletmod"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
func TestHomeConfigDisplayLimit(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
config *homeconfigmod.HomeConfig
|
||||
want int64
|
||||
}{
|
||||
{name: "旧题材配置", config: &homeconfigmod.HomeConfig{Type: homeconfigmod.TypeTheme}, want: 8},
|
||||
{name: "自定义题材数量", config: &homeconfigmod.HomeConfig{Type: homeconfigmod.TypeTheme, Limit: 5}, want: 5},
|
||||
{name: "旧短剧配置", config: &homeconfigmod.HomeConfig{Type: homeconfigmod.TypePlaylet}, want: 12},
|
||||
{name: "自定义短剧数量", config: &homeconfigmod.HomeConfig{Type: homeconfigmod.TypePlaylet, Limit: 20}, want: 20},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := homeConfigDisplayLimit(tt.config); got != tt.want {
|
||||
t.Fatalf("homeConfigDisplayLimit() = %d, want %d", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestHomeConfigSortTypeFourUsesOnlineAt(t *testing.T) {
|
||||
filter, sort := homeConfigPlayletQuery(homeconfigmod.SortTypeOnlineAt, 0)
|
||||
if _, ok := filter[playletmod.FN.Playlet.Preview]; ok {
|
||||
t.Fatal("上架时间排序不应过滤无预告片的短剧")
|
||||
}
|
||||
want := bson.D{
|
||||
{Key: playletmod.FN.Playlet.OnlineAt, Value: -1},
|
||||
{Key: playletmod.FN.Playlet.Id, Value: -1},
|
||||
}
|
||||
if !reflect.DeepEqual(sort, want) {
|
||||
t.Fatalf("上架时间排序 = %v, want %v", sort, want)
|
||||
}
|
||||
|
||||
_, latestSort := homeConfigPlayletQuery(homeconfigmod.SortTypeLatest, 0)
|
||||
if len(latestSort) == 0 || latestSort[0].Key != playletmod.FN.Playlet.UpdatedAt {
|
||||
t.Fatalf("最近更新应按更新时间排序,得到 %v", latestSort)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user