Fix update via pull__something__in=[]

This commit is contained in:
Andy Yankovsky
2017-09-14 20:28:15 +03:00
parent 5bdd35464b
commit e90f6a2fa3
2 changed files with 36 additions and 17 deletions

View File

@@ -28,12 +28,16 @@ class TransformTest(unittest.TestCase):
{'name': {'$exists': True}})
def test_transform_update(self):
class LisDoc(Document):
foo = ListField(StringField())
class DicDoc(Document):
dictField = DictField()
class Doc(Document):
pass
LisDoc.drop_collection()
DicDoc.drop_collection()
Doc.drop_collection()
@@ -51,6 +55,9 @@ class TransformTest(unittest.TestCase):
update = transform.update(DicDoc, pull__dictField__test=doc)
self.assertTrue(isinstance(update["$pull"]["dictField"]["test"], dict))
update = transform.update(LisDoc, pull__foo__in=['a'])
self.assertEqual(update, {'$pull': {'foo': {'$in': ['a']}}})
def test_query_field_name(self):
"""Ensure that the correct field name is used when querying.
"""