From ed9dc70769853e03c07ce1f6915d934ccbbf05d1 Mon Sep 17 00:00:00 2001 From: John Guo Date: Tue, 12 Apr 2022 16:09:24 +0800 Subject: [PATCH] add UT case for package gvalid --- .../gvalid_z_unit_feature_recursive_test.go | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/util/gvalid/gvalid_z_unit_feature_recursive_test.go b/util/gvalid/gvalid_z_unit_feature_recursive_test.go index 71009b0f2..60401056c 100755 --- a/util/gvalid/gvalid_z_unit_feature_recursive_test.go +++ b/util/gvalid/gvalid_z_unit_feature_recursive_test.go @@ -276,6 +276,30 @@ func Test_CheckStruct_Recursively_SliceAttribute(t *testing.T) { }) } +func Test_CheckStruct_Recursively_SliceAttribute_WithTypeAlias(t *testing.T) { + gtest.C(t, func(t *gtest.T) { + type ParamsItemBase struct { + Component string `v:"required" dc:"组件名称"` + Params string `v:"required" dc:"配置参数(一般是JSON)"` + Version uint64 `v:"required" dc:"参数版本"` + } + type ParamsItem = ParamsItemBase + type ParamsModifyReq struct { + Revision uint64 `v:"required"` + BizParams []ParamsItem `v:"required"` + } + var ( + req = ParamsModifyReq{} + data = g.Map{ + "Revision": "1", + "BizParams": `[{}]`, + } + ) + err := g.Validator().Assoc(data).Data(req).Run(ctx) + t.Assert(err, `The Component field is required; The Params field is required; The Version field is required`) + }) +} + func Test_CheckStruct_Recursively_MapAttribute(t *testing.T) { gtest.C(t, func(t *gtest.T) { type Student struct {