66
77from py .test import raises
88
9- from .models import Article , Editor , EmbeddedArticle , Player , Reporter
10-
9+ from .models import (
10+ Article , Editor , EmbeddedArticle , Player , Reporter ,
11+ ProfessorMetadata , ProfessorVector ,
12+ )
1113from .. import registry
1214from ..converter import convert_mongoengine_field
1315from ..fields import MongoengineConnectionField
@@ -80,7 +82,7 @@ def test_should_field_convert_list():
8082 assert_conversion (mongoengine .ListField , graphene .List , field = mongoengine .StringField ())
8183
8284
83- def test_should_embedded_convert_dynamic ():
85+ def test_should_reference_convert_dynamic ():
8486
8587 class E (MongoengineObjectType ):
8688
@@ -96,6 +98,22 @@ class Meta:
9698 assert graphene_type .type == E
9799
98100
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+
99117def test_should_convert_none ():
100118 registry .reset_global_registry ()
101119 dynamic_field = convert_mongoengine_field (
0 commit comments