Fix for ListField that isnt detecting properly that item 0 is changed

This commit is contained in:
Bastien Gérard
2020-10-10 23:32:22 +02:00
parent 4665658145
commit d4350e7da4
7 changed files with 45 additions and 30 deletions

View File

@@ -9,10 +9,14 @@ from mongoengine.base.datastructures import BaseDict, BaseList, StrictDict
class DocumentStub(object):
def __init__(self):
self._changed_fields = []
self._unset_fields = []
def _mark_as_changed(self, key):
self._changed_fields.append(key)
def _mark_as_unset(self, key):
self._unset_fields.append(key)
class TestBaseDict:
@staticmethod
@@ -314,7 +318,7 @@ class TestBaseList:
def test___setitem___item_0_calls_mark_as_changed(self):
base_list = self._get_baselist([True])
base_list[0] = False
assert base_list._instance._changed_fields == ["my_name"]
assert base_list._instance._changed_fields == ["my_name.0"]
assert base_list == [False]
def test___setitem___item_1_calls_mark_as_changed(self):