@@ -31,24 +31,31 @@ func TestReturnError(t *testing.T) {
3131}
3232
3333func TestIf (t * testing.T ) {
34- // Validate true condition should run the validator .
34+ // Validate true condition should run the validators .
3535 err := validate .Field (
3636 "first_name" ,
3737 "John" ,
38- validate .If (true , failValidator [string ])... ,
38+ validate .If (
39+ true ,
40+ failValidatorWithCode [string ]("first" ),
41+ failValidatorWithCode [string ]("second" ),
42+ successValidator [string ],
43+ ),
3944 )
4045 require .NotNil (t , err )
4146
4247 errs := validate .Collect (err )
4348 require .Equal (t , 1 , len (errs ))
49+ require .Equal (t , 2 , len (errs [0 ].Violations ))
4450 require .Equal (t , "first_name" , errs [0 ].Path )
45- require .Equal (t , "fail" , errs [0 ].Violations [0 ].Code )
51+ require .Equal (t , "first" , errs [0 ].Violations [0 ].Code )
52+ require .Equal (t , "second" , errs [0 ].Violations [1 ].Code )
4653
4754 // Validate false condition should not run the validator.
4855 err = validate .Field [string ](
4956 "first_name" ,
5057 "John" ,
51- validate .If (false , failValidator [string ])... ,
58+ validate .If (false , failValidator [string ]),
5259 )
5360 require .Nil (t , err )
5461}
@@ -188,3 +195,7 @@ func failValidatorWithCode[T any](code string) validate.Validator[T] {
188195func failValidator [T any ](value T ) error {
189196 return & validate.Violation {Code : "fail" }
190197}
198+
199+ func successValidator [T any ](value T ) error {
200+ return nil
201+ }
0 commit comments