@@ -25,51 +25,50 @@ func TestBind(t *testing.T) {
2525 }
2626
2727 tests := []struct {
28- name string
29- data validate.DataFace
30- rules map [string ]string
31- expectData Data
32- expectErr error
28+ name string
29+ data validate.DataFace
30+ rules map [string ]string
31+ assert func (data Data )
3332 }{
3433 {
3534 name : "success when data is map and key is lowercase" ,
3635 data : validate .FromMap (map [string ]any {"a" : "aa" }),
3736 rules : map [string ]string {"a" : "required" },
38- expectData : Data {
39- A : "aa" ,
37+ assert : func ( data Data ) {
38+ assert . Equal ( t , "aa" , data . A )
4039 },
4140 },
4241 {
4342 name : "success when data is map and key is int" ,
4443 data : validate .FromMap (map [string ]any {"b" : 1 }),
4544 rules : map [string ]string {"b" : "required" },
46- expectData : Data {
47- B : 1 ,
45+ assert : func ( data Data ) {
46+ assert . Equal ( t , 1 , data . B )
4847 },
4948 },
5049 {
5150 name : "success when data is map and cast key" ,
5251 data : validate .FromMap (map [string ]any {"b" : "1" }),
5352 rules : map [string ]string {"b" : "required" },
54- expectData : Data {
55- B : 1 ,
53+ assert : func ( data Data ) {
54+ assert . Equal ( t , 1 , data . B )
5655 },
5756 },
5857 {
5958 name : "success when data is map, key is lowercase and has errors" ,
6059 data : validate .FromMap (map [string ]any {"a" : "aa" , "c" : "cc" }),
6160 rules : map [string ]string {"a" : "required" , "b" : "required" },
62- expectData : Data {
63- A : "" ,
64- C : "" ,
61+ assert : func ( data Data ) {
62+ assert . Equal ( t , "" , data . A )
63+ assert . Equal ( t , "" , data . C )
6564 },
6665 },
6766 {
6867 name : "success when data is map and key is uppercase" ,
6968 data : validate .FromMap (map [string ]any {"A" : "aa" }),
7069 rules : map [string ]string {"A" : "required" },
71- expectData : Data {
72- A : "aa" ,
70+ assert : func ( data Data ) {
71+ assert . Equal ( t , "aa" , data . A )
7372 },
7473 },
7574 {
@@ -85,8 +84,8 @@ func TestBind(t *testing.T) {
8584 return data
8685 }(),
8786 rules : map [string ]string {"A" : "required" },
88- expectData : Data {
89- A : "aa" ,
87+ assert : func ( data Data ) {
88+ assert . Equal ( t , "aa" , data . A )
9089 },
9190 },
9291 {
@@ -101,8 +100,10 @@ func TestBind(t *testing.T) {
101100
102101 return data
103102 }(),
104- rules : map [string ]string {"a" : "required" },
105- expectData : Data {},
103+ rules : map [string ]string {"a" : "required" },
104+ assert : func (data Data ) {
105+ assert .Equal (t , "" , data .A )
106+ },
106107 },
107108 {
108109 name : "empty when data is struct and key is struct" ,
@@ -118,8 +119,10 @@ func TestBind(t *testing.T) {
118119
119120 return data
120121 }(),
121- rules : map [string ]string {"d.a" : "required" },
122- expectData : Data {},
122+ rules : map [string ]string {"d.a" : "required" },
123+ assert : func (data Data ) {
124+ assert .Equal (t , "" , data .A )
125+ },
123126 },
124127 {
125128 name : "success when data is get request" ,
@@ -132,8 +135,8 @@ func TestBind(t *testing.T) {
132135 return data
133136 }(),
134137 rules : map [string ]string {"a" : "required" },
135- expectData : Data {
136- A : "aa" ,
138+ assert : func ( data Data ) {
139+ assert . Equal ( t , "aa" , data . A )
137140 },
138141 },
139142 {
@@ -147,8 +150,8 @@ func TestBind(t *testing.T) {
147150 return data
148151 }(),
149152 rules : map [string ]string {"b" : "required" },
150- expectData : Data {
151- B : 1 ,
153+ assert : func ( data Data ) {
154+ assert . Equal ( t , 1 , data . B )
152155 },
153156 },
154157 {
@@ -163,8 +166,8 @@ func TestBind(t *testing.T) {
163166 return data
164167 }(),
165168 rules : map [string ]string {"a" : "required" },
166- expectData : Data {
167- A : "aa" ,
169+ assert : func ( data Data ) {
170+ assert . Equal ( t , "aa" , data . A )
168171 },
169172 },
170173 {
@@ -177,16 +180,14 @@ func TestBind(t *testing.T) {
177180 return data
178181 }(),
179182 rules : map [string ]string {"a" : "required" , "file" : "required" },
180- expectData : func () Data {
183+ assert : func (data Data ) {
181184 request := buildRequest (t )
182- _ , fileHeader , _ := request .FormFile ("file" )
183- data := Data {
184- A : "aa" ,
185- File : fileHeader ,
186- }
185+ _ , file , _ := request .FormFile ("file" )
187186
188- return data
189- }(),
187+ assert .Equal (t , "aa" , data .A )
188+ assert .NotNil (t , data .File )
189+ assert .Equal (t , file .Filename , data .File .Filename )
190+ },
190191 },
191192 }
192193
@@ -198,12 +199,9 @@ func TestBind(t *testing.T) {
198199
199200 var data Data
200201 err = validator .Bind (& data )
201- assert .Nil (t , test .expectErr , err )
202- assert .Equal (t , test .expectData .A , data .A )
203- assert .Equal (t , test .expectData .B , data .B )
204- assert .Equal (t , test .expectData .C , data .C )
205- assert .Equal (t , test .expectData .D , data .D )
206- assert .Equal (t , test .expectData .File == nil , data .File == nil )
202+ assert .Nil (t , err )
203+
204+ test .assert (data )
207205 })
208206 }
209207}
0 commit comments