@@ -276,6 +276,32 @@ def test_it_collapses_colliding_checkpoints_to_the_most_restrictive(
276276 assert len (survivors ) == 1
277277 assert survivors [0 ].reveal_date is None
278278
279+ def test_it_collapses_colliding_checkpoints_to_the_latest_reveal_date (
280+ self , db_session , duplicate_docs , factories
281+ ):
282+ group = factories .Group ()
283+ factories .Checkpoint (
284+ group = group ,
285+ document = duplicate_docs [0 ],
286+ reveal_date = _datetime (2000 , 1 , 1 ), # noqa: DTZ001
287+ )
288+ factories .Checkpoint (
289+ group = group ,
290+ document = duplicate_docs [1 ],
291+ reveal_date = _datetime (2030 , 1 , 1 ), # noqa: DTZ001 # hides for longest
292+ )
293+
294+ merge_documents (db_session , duplicate_docs )
295+ db_session .flush ()
296+
297+ survivors = (
298+ db_session .query (models .Checkpoint )
299+ .filter_by (group_id = group .id , document_id = duplicate_docs [0 ].id )
300+ .all ()
301+ )
302+ assert len (survivors ) == 1
303+ assert survivors [0 ].reveal_date == _datetime (2030 , 1 , 1 ) # noqa: DTZ001
304+
279305 def test_it_raises_retryable_error_when_flush_fails (
280306 self , db_session , duplicate_docs , monkeypatch
281307 ):
0 commit comments