mirror of
https://github.com/graphql-python/graphene.git
synced 2024-11-26 03:23:55 +03:00
Use argument's default_value
regardless if the input field is required (#1326)
* Use argument's default value regardless if the input field is required * Add a test * Format code
This commit is contained in:
parent
f622f1f53c
commit
c08379ed85
|
@ -26,7 +26,6 @@ from graphql import (
|
||||||
GraphQLObjectType,
|
GraphQLObjectType,
|
||||||
GraphQLSchema,
|
GraphQLSchema,
|
||||||
GraphQLString,
|
GraphQLString,
|
||||||
Undefined,
|
|
||||||
)
|
)
|
||||||
from graphql.execution import ExecutionContext
|
from graphql.execution import ExecutionContext
|
||||||
from graphql.execution.values import get_argument_values
|
from graphql.execution.values import get_argument_values
|
||||||
|
@ -313,9 +312,7 @@ class TypeMap(dict):
|
||||||
arg_type,
|
arg_type,
|
||||||
out_name=arg_name,
|
out_name=arg_name,
|
||||||
description=arg.description,
|
description=arg.description,
|
||||||
default_value=Undefined
|
default_value=arg.default_value,
|
||||||
if isinstance(arg.type, NonNull)
|
|
||||||
else arg.default_value,
|
|
||||||
)
|
)
|
||||||
subscribe = field.wrap_subscribe(
|
subscribe = field.wrap_subscribe(
|
||||||
self.get_function_for_type(
|
self.get_function_for_type(
|
||||||
|
|
|
@ -6,6 +6,7 @@ from graphql.type import (
|
||||||
GraphQLInputField,
|
GraphQLInputField,
|
||||||
GraphQLInputObjectType,
|
GraphQLInputObjectType,
|
||||||
GraphQLInterfaceType,
|
GraphQLInterfaceType,
|
||||||
|
GraphQLNonNull,
|
||||||
GraphQLObjectType,
|
GraphQLObjectType,
|
||||||
GraphQLString,
|
GraphQLString,
|
||||||
)
|
)
|
||||||
|
@ -94,6 +95,21 @@ def test_objecttype():
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_required_argument_with_default_value():
|
||||||
|
class MyObjectType(ObjectType):
|
||||||
|
foo = String(bar=String(required=True, default_value="x"))
|
||||||
|
|
||||||
|
type_map = create_type_map([MyObjectType])
|
||||||
|
|
||||||
|
graphql_type = type_map["MyObjectType"]
|
||||||
|
foo_field = graphql_type.fields["foo"]
|
||||||
|
|
||||||
|
bar_argument = foo_field.args["bar"]
|
||||||
|
assert bar_argument.default_value == "x"
|
||||||
|
assert isinstance(bar_argument.type, GraphQLNonNull)
|
||||||
|
assert bar_argument.type.of_type == GraphQLString
|
||||||
|
|
||||||
|
|
||||||
def test_dynamic_objecttype():
|
def test_dynamic_objecttype():
|
||||||
class MyObjectType(ObjectType):
|
class MyObjectType(ObjectType):
|
||||||
"""Description"""
|
"""Description"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user