Skip to content

Commit 2f6fb89

Browse files
committed
Fixed List, NonNull accessors as functions instead of properties
1 parent ee19445 commit 2f6fb89

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

graphene/core/classtypes/base.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import copy
22
import inspect
3+
from functools import partial
34
from collections import OrderedDict
45

56
import six
@@ -48,8 +49,8 @@ def construct(cls, bases, attrs):
4849

4950
if not cls._meta.abstract:
5051
from ..types import List, NonNull
51-
setattr(cls, 'NonNull', NonNull(cls))
52-
setattr(cls, 'List', List(cls))
52+
setattr(cls, 'NonNull', partial(NonNull, cls))
53+
setattr(cls, 'List', partial(List, cls))
5354

5455
return cls
5556

graphene/core/classtypes/tests/test_base.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,26 @@ class Meta:
2323
def test_classtype_definition_list():
2424
class Character(ClassType):
2525
'''Character description'''
26-
assert isinstance(Character.List, List)
27-
assert Character.List.of_type == Character
26+
assert isinstance(Character.List(), List)
27+
assert Character.List().of_type == Character
2828

2929

3030
def test_classtype_definition_nonnull():
3131
class Character(ClassType):
3232
'''Character description'''
33-
assert isinstance(Character.NonNull, NonNull)
34-
assert Character.NonNull.of_type == Character
33+
assert isinstance(Character.NonNull(), NonNull)
34+
assert Character.NonNull().of_type == Character
35+
36+
37+
def test_fieldsclasstype_definition_order():
38+
class Character(ClassType):
39+
'''Character description'''
40+
41+
class Query(FieldsClassType):
42+
name = String()
43+
char = Character.NonNull()
44+
45+
assert list(Query._meta.fields_map.keys()) == ['name', 'char']
3546

3647

3748
def test_fieldsclasstype():

0 commit comments

Comments
 (0)