Testing if we can query embedded document's field inside MapField. Part of #912, which is fixed in 0.9.

This commit is contained in:
Gregor Kališnik 2015-05-05 12:49:45 +02:00
parent 422ca87a12
commit 4b8344082f

View File

@ -1431,16 +1431,26 @@ class FieldTest(unittest.TestCase):
def test_map_field_lookup(self):
"""Ensure MapField lookups succeed on Fields without a lookup method"""
class Action(EmbeddedDocument):
operation = StringField()
object = StringField()
class Log(Document):
name = StringField()
visited = MapField(DateTimeField())
actions = MapField(EmbeddedDocumentField(Action))
Log.drop_collection()
Log(name="wilson", visited={'friends': datetime.datetime.now()}).save()
Log(name="wilson", visited={'friends': datetime.datetime.now()},
actions={'friends': Action(operation='drink', object='beer')}).save()
self.assertEqual(1, Log.objects(
visited__friends__exists=True).count())
self.assertEqual(1, Log.objects(
actions__friends__operation='drink',
actions__friends__object='beer').count())
def test_embedded_db_field(self):
class Embedded(EmbeddedDocument):