package service import ( "testing" "cmautobuy/admin/model" ) func TestInnerCodeRowView_按状态区分匹配与回写能力(t *testing.T) { for _, status := range []model.InnerCodeStatus{ model.InnerCodePending, model.InnerCodeReady, 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) != 9 || options[0].Value != "" { t.Fatalf("状态筛选项不完整: %+v", options) } }