Added test to ensure fields can be defined on meta

This commit is contained in:
Cameron Hurst 2019-04-21 09:59:33 -04:00
parent cffa3b3b2d
commit f3ca2cc932
No known key found for this signature in database
GPG Key ID: 21D8849D8BAFABCA

View File

@ -1,5 +1,8 @@
from collections import OrderedDict
import pytest import pytest
import graphene
from ...types import Argument, Field, Int, List, NonNull, ObjectType, Schema, String from ...types import Argument, Field, Int, List, NonNull, ObjectType, Schema, String
from ..connection import Connection, ConnectionField, PageInfo, ConnectionOptions from ..connection import Connection, ConnectionField, PageInfo, ConnectionOptions
from ..node import Node from ..node import Node
@ -74,6 +77,33 @@ def test_connection_meta_assignment():
assert id(MyObjectConnection._meta) == id(meta) assert id(MyObjectConnection._meta) == id(meta)
def test_connection_meta_can_have_fields():
meta = ConnectionOptions(Connection)
meta.fields = OrderedDict([
("test", graphene.String())
])
class BaseConnection(object):
extra = String()
class InheritedConnection(Connection):
class Meta:
abstract = True
@classmethod
def __init_subclass_with_meta__(cls, node=None, name=None, **options):
return super(InheritedConnection, cls).__init_subclass_with_meta__(
_meta=meta, node=node, name=name, **options
)
class MyObjectConnection(BaseConnection, InheritedConnection):
class Meta:
node = MyObject
fields = MyObjectConnection._meta.fields
assert list(fields.keys()) == ["test", "page_info", "edges", "extra"]
def test_connection_name(): def test_connection_name():
custom_name = "MyObjectCustomNameConnection" custom_name = "MyObjectCustomNameConnection"