Skip to content

Commit bb0f66a

Browse files
committed
test: Add test_should_convert_none
1 parent c09bf91 commit bb0f66a

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

graphene_mongo/tests/test_converter.py

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import graphene
22
import mongoengine
3-
import pytest
43

54
from graphene import Dynamic
65
from graphene import Node
@@ -9,6 +8,7 @@
98

109
from .models import Article, Editor, EmbeddedArticle, Player, Reporter
1110

11+
from .. import registry
1212
from ..converter import convert_mongoengine_field
1313
from ..fields import MongoengineConnectionField
1414
from ..types import MongoengineObjectType
@@ -21,6 +21,7 @@ def assert_conversion(mongoengine_field, graphene_field, *args, **kwargs):
2121
field = graphene_type.Field()
2222
return field
2323

24+
2425
def test_should_unknown_mongoengine_field_raise_exception():
2526
with raises(Exception) as excinfo:
2627
convert_mongoengine_field(None)
@@ -83,21 +84,32 @@ class Meta:
8384
model = Editor
8485
interfaces = (Node,)
8586

86-
dynamic_field = convert_mongoengine_field(EmbeddedArticle._fields['editor'], E._meta.registry)
87+
dynamic_field = convert_mongoengine_field(
88+
EmbeddedArticle._fields['editor'], E._meta.registry)
8789
assert isinstance(dynamic_field, Dynamic)
8890
graphene_type = dynamic_field.get_type()
8991
assert isinstance(graphene_type, graphene.Field)
9092
assert graphene_type.type == E
9193

9294

95+
def test_should_convert_none():
96+
registry.reset_global_registry()
97+
dynamic_field = convert_mongoengine_field(
98+
EmbeddedArticle._fields['editor'], registry.get_global_registry())
99+
assert isinstance(dynamic_field, Dynamic)
100+
graphene_type = dynamic_field.get_type()
101+
assert graphene_type is None
102+
103+
93104
def test_should_list_of_reference_convert_list():
94105

95106
class A(MongoengineObjectType):
96107

97108
class Meta:
98109
model = Article
99110

100-
graphene_field = convert_mongoengine_field(Reporter._fields['articles'], A._meta.registry)
111+
graphene_field = convert_mongoengine_field(
112+
Reporter._fields['articles'], A._meta.registry)
101113
assert isinstance(graphene_field, graphene.List)
102114
dynamic_field = graphene_field.get_type()
103115
assert dynamic_field._of_type == A
@@ -110,7 +122,8 @@ class E(MongoengineObjectType):
110122
class Meta:
111123
model = EmbeddedArticle
112124

113-
graphene_field = convert_mongoengine_field(Reporter._fields['embedded_articles'], E._meta.registry)
125+
graphene_field = convert_mongoengine_field(
126+
Reporter._fields['embedded_articles'], E._meta.registry)
114127
assert isinstance(graphene_field, graphene.List)
115128
dynamic_field = graphene_field.get_type()
116129
assert dynamic_field._of_type == E
@@ -123,26 +136,30 @@ class E(MongoengineObjectType):
123136
class Meta:
124137
model = EmbeddedArticle
125138

126-
graphene_field = convert_mongoengine_field(Reporter._fields['embedded_list_articles'], E._meta.registry)
139+
graphene_field = convert_mongoengine_field(
140+
Reporter._fields['embedded_list_articles'], E._meta.registry)
127141
assert isinstance(graphene_field, graphene.List)
128142
dynamic_field = graphene_field.get_type()
129143
assert dynamic_field._of_type == E
130144

131145

132146
def test_should_self_reference_convert_dynamic():
147+
133148
class P(MongoengineObjectType):
134149

135150
class Meta:
136151
model = Player
137152
interfaces = (Node,)
138153

139-
dynamic_field = convert_mongoengine_field(Player._fields['opponent'], P._meta.registry)
154+
dynamic_field = convert_mongoengine_field(
155+
Player._fields['opponent'], P._meta.registry)
140156
assert isinstance(dynamic_field, Dynamic)
141157
graphene_type = dynamic_field.get_type()
142158
assert isinstance(graphene_type, graphene.Field)
143159
assert graphene_type.type == P
144160

145-
graphene_field = convert_mongoengine_field(Player._fields['players'], P._meta.registry)
161+
graphene_field = convert_mongoengine_field(
162+
Player._fields['players'], P._meta.registry)
146163
assert isinstance(graphene_field, MongoengineConnectionField)
147164

148165

@@ -158,7 +175,8 @@ class P(MongoengineObjectType):
158175
class Meta:
159176
model = Player
160177

161-
graphene_field = convert_mongoengine_field(Player._fields['players'], P._meta.registry)
178+
graphene_field = convert_mongoengine_field(
179+
Player._fields['players'], P._meta.registry)
162180
assert isinstance(graphene_field, graphene.List)
163181
dynamic_field = graphene_field.get_type()
164182
assert dynamic_field._of_type == P

0 commit comments

Comments
 (0)