55
66from .. import registry
77from ..types import MongoengineObjectType
8- from .models import Article
9- from .models import Reporter
8+ from .models import Article , EmbeddedArticle , Reporter
9+ from .models import Parent , Child
1010from .utils import with_local_registry
1111
1212registry .reset_global_registry ()
@@ -22,12 +22,33 @@ class Meta:
2222 interfaces = (Node ,)
2323
2424
25+ class Being (MongoengineObjectType ):
26+
27+ class Meta :
28+ model = EmbeddedArticle
29+ interfaces = (Node ,)
30+
2531class Character (MongoengineObjectType ):
32+
2633 class Meta :
2734 model = Reporter
2835 registry = registry .get_global_registry ()
2936
3037
38+ class Dad (MongoengineObjectType ):
39+
40+ class Meta :
41+ model = Parent
42+ registry = registry .get_global_registry ()
43+
44+
45+ class Son (MongoengineObjectType ):
46+
47+ class Meta :
48+ model = Child
49+ registry = registry .get_global_registry ()
50+
51+
3152def test_mongoengine_interface ():
3253 assert issubclass (Node , Interface )
3354 assert issubclass (Node , Node )
@@ -41,13 +62,16 @@ def test_objecttype_registered():
4162 'first_name' ,
4263 'last_name' ,
4364 'email' ,
44- # FIXME
45- # 'embedded_articles ',
65+ 'embedded_articles' ,
66+ 'embedded_list_articles ' ,
4667 'articles' ,
4768 'awards'
4869 ])
4970
5071
72+ def test_mongoengine_inheritance ():
73+ assert issubclass (Son ._meta .model , Dad ._meta .model )
74+
5175def test_node_replacedfield ():
5276 idfield = Human ._meta .fields ['pub_date' ]
5377 assert isinstance (idfield , Field )
0 commit comments