From 4b8344082f3f47e7fdcc31ddce407ab812d62ae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20Kali=C5=A1nik?= Date: Tue, 5 May 2015 12:49:45 +0200 Subject: [PATCH] Testing if we can query embedded document's field inside MapField. Part of #912, which is fixed in 0.9. --- tests/fields/fields.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/fields/fields.py b/tests/fields/fields.py index e7a87ed0..c2967856 100644 --- a/tests/fields/fields.py +++ b/tests/fields/fields.py @@ -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):