Files
cmautobuy/admin/service/inner_code_page_test.go
T

36 lines
1.2 KiB
Go

package service
import (
"testing"
"cmautobuy/admin/model"
)
func TestInnerCodeRowView_按状态区分匹配与回写能力(t *testing.T) {
for _, status := range []model.InnerCodeStatus{
model.InnerCodePending, model.InnerCodeReady, model.InnerCodeQueued, model.InnerCodeApplying,
model.InnerCodeUpdated, model.InnerCodeAlreadyFilled, model.InnerCodeSkipped,
model.InnerCodeFailed, model.InnerCodeNeedsCheck,
} {
view := innerCodeRowView(model.InnerCodeRecord{Status: status, RemoteInnerCode: "OLD"})
wantMatch := status == model.InnerCodePending || status == model.InnerCodeReady ||
status == model.InnerCodeSkipped || status == model.InnerCodeFailed
if view.CanMatch != wantMatch {
t.Errorf("status=%s CanMatch=%v", status, view.CanMatch)
}
if view.CanApply != (status == model.InnerCodeReady) {
t.Errorf("status=%s CanApply=%v", status, view.CanApply)
}
if view.CanRecheck != (status == model.InnerCodeNeedsCheck) {
t.Errorf("status=%s CanRecheck=%v", status, view.CanRecheck)
}
}
}
func TestInnerCodeStatusOptions_覆盖所有状态(t *testing.T) {
options := InnerCodeStatusOptions()
if len(options) != 10 || options[0].Value != "" {
t.Fatalf("状态筛选项不完整: %+v", options)
}
}