6
6
7
7
from py .test import raises
8
8
9
- from .models import Article , Editor , EmbeddedArticle , Player , Reporter
10
-
9
+ from .models import (
10
+ Article , Editor , EmbeddedArticle , Player , Reporter ,
11
+ ProfessorMetadata , ProfessorVector ,
12
+ )
11
13
from .. import registry
12
14
from ..converter import convert_mongoengine_field
13
15
from ..fields import MongoengineConnectionField
@@ -80,7 +82,7 @@ def test_should_field_convert_list():
80
82
assert_conversion (mongoengine .ListField , graphene .List , field = mongoengine .StringField ())
81
83
82
84
83
- def test_should_embedded_convert_dynamic ():
85
+ def test_should_reference_convert_dynamic ():
84
86
85
87
class E (MongoengineObjectType ):
86
88
@@ -96,6 +98,22 @@ class Meta:
96
98
assert graphene_type .type == E
97
99
98
100
101
+ def test_should_embedded_convert_dynamic ():
102
+
103
+ class PM (MongoengineObjectType ):
104
+
105
+ class Meta :
106
+ model = ProfessorMetadata
107
+ interfaces = (Node ,)
108
+
109
+ dynamic_field = convert_mongoengine_field (
110
+ ProfessorVector ._fields ['metadata' ], PM ._meta .registry )
111
+ assert isinstance (dynamic_field , Dynamic )
112
+ graphene_type = dynamic_field .get_type ()
113
+ assert isinstance (graphene_type , graphene .Field )
114
+ assert graphene_type .type == PM
115
+
116
+
99
117
def test_should_convert_none ():
100
118
registry .reset_global_registry ()
101
119
dynamic_field = convert_mongoengine_field (
0 commit comments