mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-02 20:54:16 +03:00
Merge pull request #361 from Globegitter/node-simplifications
Make node arg options and default required to True for GlobalID.
This commit is contained in:
commit
a22c9276e5
|
@ -35,9 +35,9 @@ def get_default_connection(cls):
|
||||||
|
|
||||||
class GlobalID(Field):
|
class GlobalID(Field):
|
||||||
|
|
||||||
def __init__(self, node, *args, **kwargs):
|
def __init__(self, node=None, required=True, *args, **kwargs):
|
||||||
super(GlobalID, self).__init__(ID, *args, **kwargs)
|
super(GlobalID, self).__init__(ID, required=required, *args, **kwargs)
|
||||||
self.node = node
|
self.node = node or Node
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def id_resolver(parent_resolver, node, root, args, context, info):
|
def id_resolver(parent_resolver, node, root, args, context, info):
|
||||||
|
@ -52,7 +52,7 @@ class NodeMeta(InterfaceMeta):
|
||||||
|
|
||||||
def __new__(cls, name, bases, attrs):
|
def __new__(cls, name, bases, attrs):
|
||||||
cls = InterfaceMeta.__new__(cls, name, bases, attrs)
|
cls = InterfaceMeta.__new__(cls, name, bases, attrs)
|
||||||
cls._meta.fields['id'] = GlobalID(cls, required=True, description='The ID of the object.')
|
cls._meta.fields['id'] = GlobalID(cls, description='The ID of the object.')
|
||||||
return cls
|
return cls
|
||||||
|
|
||||||
|
|
||||||
|
|
22
graphene/relay/tests/test_global_id.py
Normal file
22
graphene/relay/tests/test_global_id.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
from ..node import Node, GlobalID
|
||||||
|
|
||||||
|
from ...types import NonNull, ID
|
||||||
|
|
||||||
|
|
||||||
|
class CustomNode(Node):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
name = 'Node'
|
||||||
|
|
||||||
|
|
||||||
|
def test_global_id_defaults_to_required_and_node():
|
||||||
|
gid = GlobalID()
|
||||||
|
assert isinstance(gid.type, NonNull)
|
||||||
|
assert gid.type.of_type == ID
|
||||||
|
assert gid.node == Node
|
||||||
|
|
||||||
|
|
||||||
|
def test_global_id_allows_overriding_of_node_and_required():
|
||||||
|
gid = GlobalID(node=CustomNode, required=False)
|
||||||
|
assert gid.type == ID
|
||||||
|
assert gid.node == CustomNode
|
Loading…
Reference in New Issue
Block a user