File tree Expand file tree Collapse file tree 2 files changed +40
-2
lines changed Expand file tree Collapse file tree 2 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -234,7 +234,7 @@ def make_scalar_def(definition):
234
234
def make_input_object_def (definition ):
235
235
return GraphQLInputObjectType (
236
236
name = definition .name .value ,
237
- fields = make_input_values (definition .fields , GraphQLInputObjectField )
237
+ fields = lambda : make_input_values (definition .fields , GraphQLInputObjectField )
238
238
)
239
239
240
240
_schema_def_handlers = {
Original file line number Diff line number Diff line change 1
1
from pytest import raises
2
2
3
- from graphql import parse
3
+ from graphql import GraphQLInt , parse
4
4
from graphql .utils .build_ast_schema import build_ast_schema
5
5
from graphql .utils .schema_printer import print_schema
6
6
@@ -392,6 +392,44 @@ def test_input_object():
392
392
assert output == body
393
393
394
394
395
+ def test_input_types_are_read ():
396
+ schema = build_ast_schema (parse ("""
397
+ schema {
398
+ query: Query
399
+ }
400
+
401
+ type Query {
402
+ field(input: Input): Int
403
+ }
404
+
405
+ input Input {
406
+ id: Int
407
+ }
408
+ """ ))
409
+
410
+ input_type = schema .get_type ("Input" )
411
+ assert input_type .fields ["id" ].type == GraphQLInt
412
+
413
+
414
+ def test_input_types_can_be_recursive ():
415
+ schema = build_ast_schema (parse ("""
416
+ schema {
417
+ query: Query
418
+ }
419
+
420
+ type Query {
421
+ field(input: Input): Int
422
+ }
423
+
424
+ input Input {
425
+ id: Input
426
+ }
427
+ """ ))
428
+
429
+ input_type = schema .get_type ("Input" )
430
+ assert input_type .fields ["id" ].type == input_type
431
+
432
+
395
433
def test_simple_argument_field_with_default ():
396
434
body = '''
397
435
schema {
You can’t perform that action at this time.
0 commit comments