MCPcopy Create free account
hub / github.com/go-playground/validator / TestSQLValue2Validation

Function TestSQLValue2Validation

validator_test.go:2330–2378  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2328}
2329
2330func 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
2380func TestSQLValueValidation(t *testing.T) {
2381 validate := New()

Callers

nothing calls this directly

Calls 6

NewFunction · 0.85
AssertErrorFunction · 0.85
VarMethod · 0.80
VarCtxMethod · 0.80
StructMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…