@@ -411,6 +411,16 @@ def test_promote_snapshots(state_sync: EngineAdapterStateSync, make_snapshot: t.
411411 )
412412 snapshot_a .categorize_as (SnapshotChangeCategory .BREAKING )
413413
414+ snapshot_b_old = make_snapshot (
415+ SqlModel (
416+ name = "b" ,
417+ kind = FullKind (),
418+ query = parse_one ("select 2 from a" ),
419+ ),
420+ nodes = {"a" : snapshot_a .model },
421+ )
422+ snapshot_b_old .categorize_as (SnapshotChangeCategory .BREAKING )
423+
414424 snapshot_b = make_snapshot (
415425 SqlModel (
416426 name = "b" ,
@@ -435,28 +445,29 @@ def test_promote_snapshots(state_sync: EngineAdapterStateSync, make_snapshot: t.
435445 ):
436446 promote_snapshots (state_sync , [snapshot_a ], "prod" )
437447
438- state_sync .push_snapshots ([snapshot_a , snapshot_b , snapshot_c ])
448+ state_sync .push_snapshots ([snapshot_a , snapshot_b_old , snapshot_b , snapshot_c ])
439449
440- promotion_result = promote_snapshots (state_sync , [snapshot_a , snapshot_b ], "prod" )
450+ promotion_result = promote_snapshots (state_sync , [snapshot_a , snapshot_b_old ], "prod" )
441451
442- assert set (promotion_result .added ) == set ([snapshot_a .table_info , snapshot_b .table_info ])
452+ assert set (promotion_result .added ) == set ([snapshot_a .table_info , snapshot_b_old .table_info ])
443453 assert not promotion_result .removed
444454 assert not promotion_result .removed_environment_naming_info
445455 promotion_result = promote_snapshots (
446456 state_sync ,
447- [snapshot_a , snapshot_b , snapshot_c ],
457+ [snapshot_a , snapshot_b_old , snapshot_c ],
448458 "prod" ,
449459 )
450460 assert set (promotion_result .added ) == set (
451461 [
452462 snapshot_a .table_info ,
453- snapshot_b .table_info ,
463+ snapshot_b_old .table_info ,
454464 snapshot_c .table_info ,
455465 ]
456466 )
457467 assert not promotion_result .removed
458468 assert not promotion_result .removed_environment_naming_info
459469
470+ prev_snapshot_b_old_updated_ts = snapshot_b_old .updated_ts
460471 prev_snapshot_c_updated_ts = snapshot_c .updated_ts
461472
462473 promotion_result = promote_snapshots (
@@ -472,6 +483,10 @@ def test_promote_snapshots(state_sync: EngineAdapterStateSync, make_snapshot: t.
472483 state_sync .get_snapshots ([snapshot_c ])[snapshot_c .snapshot_id ].updated_ts
473484 > prev_snapshot_c_updated_ts
474485 )
486+ assert (
487+ state_sync .get_snapshots ([snapshot_b_old ])[snapshot_b_old .snapshot_id ].updated_ts
488+ > prev_snapshot_b_old_updated_ts
489+ )
475490
476491 snapshot_d = make_snapshot (
477492 SqlModel (
0 commit comments