(t *testing.T)
| 2328 | } |
| 2329 | |
| 2330 | func TestSQLValue2Validation(t *testing.T) { |
| 2331 | validate := New() |
| 2332 | validate.RegisterCustomTypeFunc(ValidateValuerType, valuer{}, (*driver.Valuer)(nil), sql.NullString{}, sql.NullInt64{}, sql.NullBool{}, sql.NullFloat64{}) |
| 2333 | validate.RegisterCustomTypeFunc(ValidateCustomType, MadeUpCustomType{}) |
| 2334 | validate.RegisterCustomTypeFunc(OverrideIntTypeForSomeReason, 1) |
| 2335 | |
| 2336 | val := valuer{ |
| 2337 | Name: "", |
| 2338 | } |
| 2339 | |
| 2340 | errs := validate.Var(val, "required") |
| 2341 | NotEqual(t, errs, nil) |
| 2342 | AssertError(t, errs, "", "", "", "", "required") |
| 2343 | |
| 2344 | val.Name = "Valid Name" |
| 2345 | errs = validate.VarCtx(context.Background(), val, "required") |
| 2346 | Equal(t, errs, nil) |
| 2347 | |
| 2348 | val.Name = "errorme" |
| 2349 | |
| 2350 | PanicMatches(t, func() { _ = validate.Var(val, "required") }, "SQL Driver Valuer error: some kind of error") |
| 2351 | |
| 2352 | myVal := valuer{ |
| 2353 | Name: "", |
| 2354 | } |
| 2355 | |
| 2356 | errs = validate.Var(myVal, "required") |
| 2357 | NotEqual(t, errs, nil) |
| 2358 | AssertError(t, errs, "", "", "", "", "required") |
| 2359 | |
| 2360 | cust := MadeUpCustomType{ |
| 2361 | FirstName: "Joey", |
| 2362 | LastName: "Bloggs", |
| 2363 | } |
| 2364 | |
| 2365 | c := CustomMadeUpStruct{MadeUp: cust, OverriddenInt: 2} |
| 2366 | |
| 2367 | errs = validate.Struct(c) |
| 2368 | Equal(t, errs, nil) |
| 2369 | |
| 2370 | c.MadeUp.FirstName = "" |
| 2371 | c.OverriddenInt = 1 |
| 2372 | |
| 2373 | errs = validate.Struct(c) |
| 2374 | NotEqual(t, errs, nil) |
| 2375 | Equal(t, len(errs.(ValidationErrors)), 2) |
| 2376 | AssertError(t, errs, "CustomMadeUpStruct.MadeUp", "CustomMadeUpStruct.MadeUp", "MadeUp", "MadeUp", "required") |
| 2377 | AssertError(t, errs, "CustomMadeUpStruct.OverriddenInt", "CustomMadeUpStruct.OverriddenInt", "OverriddenInt", "OverriddenInt", "gt") |
| 2378 | } |
| 2379 | |
| 2380 | func TestSQLValueValidation(t *testing.T) { |
| 2381 | validate := New() |
nothing calls this directly
no test coverage detected
searching dependent graphs…