(t *testing.T)
| 251 | } |
| 252 | |
| 253 | func TestCustomRuleSet(t *testing.T) { |
| 254 | someRule := validator.Rule{ |
| 255 | Name: "SomeRule", |
| 256 | RuleFunc: func(observers *validator.Events, addError validator.AddErrFunc) { |
| 257 | addError(validator.Message("%s", "some error message")) |
| 258 | }, |
| 259 | } |
| 260 | |
| 261 | someOtherRule := validator.Rule{ |
| 262 | Name: "SomeOtherRule", |
| 263 | RuleFunc: func(observers *validator.Events, addError validator.AddErrFunc) { |
| 264 | addError(validator.Message("%s", "some other error message")) |
| 265 | }, |
| 266 | } |
| 267 | |
| 268 | s := gqlparser.MustLoadSchema( |
| 269 | &ast.Source{ |
| 270 | Name: "graph/schema.graphqls", |
| 271 | Input: ` |
| 272 | type Query { |
| 273 | bar: String! |
| 274 | } |
| 275 | `, BuiltIn: false, |
| 276 | }, |
| 277 | ) |
| 278 | |
| 279 | q, err := parser.ParseQuery(&ast.Source{ |
| 280 | Name: "SomeQuery", |
| 281 | Input: ` |
| 282 | query Foo($flag: Boolean!) { |
| 283 | ...Bar |
| 284 | } |
| 285 | `, |
| 286 | }) |
| 287 | require.NoError(t, err) |
| 288 | |
| 289 | errList := validator.Validate(s, q, []validator.Rule{someRule, someOtherRule}...) |
| 290 | require.Len(t, errList, 2) |
| 291 | require.Equal(t, "some error message", errList[0].Message) |
| 292 | require.Equal(t, "some other error message", errList[1].Message) |
| 293 | } |
| 294 | |
| 295 | func TestCustomRuleSetWithRules(t *testing.T) { |
| 296 | someRule := validator.Rule{ |
nothing calls this directly
no test coverage detected
searching dependent graphs…