Skip to content

Commit eeb8490

Browse files
committed
RDBC-780 FirstClassPatchTest::shouldMergePatchCalls
1 parent f678a22 commit eeb8490

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

ravendb/tests/jvm_migrated_tests/client_tests/test_first_class_patch.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,3 +245,41 @@ def test_can_increment(self):
245245
with self.store.open_session() as session:
246246
loaded = session.load(self.doc_id, User)
247247
self.assertEqual(3, loaded.stuff[0].key)
248+
249+
def test_should_merge_patch_calls(self):
250+
stuff = [Stuff(6), None, None]
251+
252+
user = User(stuff, numbers=[66])
253+
user2 = User(stuff, numbers=[1, 2, 3])
254+
255+
docid2 = "users/2-A"
256+
257+
with self.store.open_session() as session:
258+
session.store(user)
259+
session.store(user2, docid2)
260+
session.save_changes()
261+
262+
now = datetime.utcnow()
263+
264+
with self.store.open_session() as session:
265+
session.advanced.patch(self.doc_id, "numbers[0]", 31)
266+
self.assertEqual(1, len(session._deferred_commands))
267+
session.advanced.patch(self.doc_id, "last_login", now)
268+
self.assertEqual(1, len(session._deferred_commands))
269+
session.advanced.patch(docid2, "numbers[0]", 123)
270+
self.assertEqual(2, len(session._deferred_commands))
271+
session.advanced.patch(docid2, "last_login", now)
272+
273+
session.save_changes()
274+
275+
with self.store.open_session() as session:
276+
session.advanced.increment(self.doc_id, "numbers[0]", 1)
277+
self.assertEqual(1, len(session._deferred_commands))
278+
session.advanced.patch_array(self.doc_id, "numbers", lambda r: r.add(77))
279+
self.assertEqual(1, len(session._deferred_commands))
280+
session.advanced.patch_array(self.doc_id, "numbers", lambda r: r.add(88))
281+
self.assertEqual(1, len(session._deferred_commands))
282+
session.advanced.patch_array(self.doc_id, "numbers", lambda r: r.remove_at(1))
283+
self.assertEqual(1, len(session._deferred_commands))
284+
285+
session.save_changes()

0 commit comments

Comments
 (0)