From 9dcd7986b86010c78d8fb2a8d5da6e1bf915653c Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Fri, 11 Dec 2015 10:53:05 -0800 Subject: [PATCH] Improved testing on fields --- graphene/core/types/tests/test_field.py | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/graphene/core/types/tests/test_field.py b/graphene/core/types/tests/test_field.py index 2b1f7e40..706cbc59 100644 --- a/graphene/core/types/tests/test_field.py +++ b/graphene/core/types/tests/test_field.py @@ -129,3 +129,38 @@ def test_inputfield_internal_type(): assert isinstance(type, GraphQLInputObjectField) assert type.description == 'My input field' assert type.default_value == '3' + + +def test_field_resolve_argument(): + resolver = lambda instance, args, info: args.get('first_name') + + field = Field(String(), first_name=String(), description='My argument', resolver=resolver) + + class Query(ObjectType): + my_field = field + schema = Schema(query=Query) + + type = schema.T(field) + assert type.resolver(None, {'firstName': 'Peter'}, None) == 'Peter' + + +def test_field_resolve_vars(): + class Query(ObjectType): + hello = String(first_name=String()) + + def resolve_hello(self, args, info): + return 'Hello ' + args.get('first_name') + + schema = Schema(query=Query) + + result = schema.execute(""" + query foo($firstName:String) + { + hello(firstName:$firstName) + } + """, args={"firstName": "Serkan"}) + + expected = { + 'hello': 'Hello Serkan' + } + assert result.data == expected