mirror of
https://github.com/graphql-python/graphene.git
synced 2024-11-23 01:56:54 +03:00
Improved testing. Added strucutre serialization. Remove unused code
This commit is contained in:
parent
1c24e1b954
commit
e408541c7b
|
@ -2,44 +2,10 @@ import inspect
|
|||
from functools import partial
|
||||
from collections import OrderedDict
|
||||
|
||||
# from graphql.type import (GraphQLField, GraphQLInputObjectField)
|
||||
# from graphql.utils.assert_valid_name import assert_valid_name
|
||||
|
||||
from ..utils.orderedtype import OrderedType
|
||||
from .structures import NonNull
|
||||
# from ..utils.str_converters import to_camel_case
|
||||
# from .argument import to_arguments
|
||||
|
||||
|
||||
# class AbstractField(object):
|
||||
|
||||
# @property
|
||||
# def name(self):
|
||||
# return self._name or self.attname and to_camel_case(self.attname)
|
||||
|
||||
# @name.setter
|
||||
# def name(self, name):
|
||||
# if name is not None:
|
||||
# assert_valid_name(name)
|
||||
# self._name = name
|
||||
|
||||
# @property
|
||||
# def type(self):
|
||||
# from ..utils.get_graphql_type import get_graphql_type
|
||||
# from .structures import NonNull
|
||||
# if inspect.isfunction(self._type):
|
||||
# _type = self._type()
|
||||
# else:
|
||||
# _type = self._type
|
||||
|
||||
# if self.required:
|
||||
# return NonNull(_type)
|
||||
# return get_graphql_type(_type)
|
||||
|
||||
# @type.setter
|
||||
# def type(self, type):
|
||||
# self._type = type
|
||||
|
||||
def source_resolver(source, root, args, context, info):
|
||||
resolved = getattr(root, source, None)
|
||||
if inspect.isfunction(resolved):
|
||||
|
|
|
@ -16,8 +16,10 @@ class Structure(UnmountedType):
|
|||
|
||||
|
||||
class List(Structure):
|
||||
pass
|
||||
def __str__(self):
|
||||
return '[{}]'.format(self.of_type)
|
||||
|
||||
|
||||
class NonNull(Structure):
|
||||
pass
|
||||
def __str__(self):
|
||||
return '{}!'.format(self.of_type)
|
||||
|
|
|
@ -3,6 +3,7 @@ import pytest
|
|||
from ..field import Field
|
||||
from ..interface import Interface
|
||||
from ..unmountedtype import UnmountedType
|
||||
from ..abstracttype import AbstractType
|
||||
|
||||
|
||||
class MyType(object):
|
||||
|
@ -57,3 +58,25 @@ def test_generate_interface_unmountedtype():
|
|||
|
||||
assert 'field' in MyInterface._meta.fields
|
||||
assert isinstance(MyInterface._meta.fields['field'], Field)
|
||||
|
||||
|
||||
def test_generate_interface_inherit_abstracttype():
|
||||
class MyAbstractType(AbstractType):
|
||||
field1 = MyScalar(MyType)
|
||||
|
||||
class MyInterface(Interface, MyAbstractType):
|
||||
field2 = MyScalar(MyType)
|
||||
|
||||
assert MyInterface._meta.fields.keys() == ['field1', 'field2']
|
||||
assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field]
|
||||
|
||||
|
||||
def test_generate_interface_inherit_abstracttype_reversed():
|
||||
class MyAbstractType(AbstractType):
|
||||
field1 = MyScalar(MyType)
|
||||
|
||||
class MyInterface(MyAbstractType, Interface):
|
||||
field2 = MyScalar(MyType)
|
||||
|
||||
assert MyInterface._meta.fields.keys() == ['field1', 'field2']
|
||||
assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field]
|
||||
|
|
Loading…
Reference in New Issue
Block a user