@@ -2488,6 +2488,16 @@ def test_virtual_environment_mode_dev_only(init_and_plan_context: t.Callable):
24882488 intervals = [(to_timestamp ("2023-01-07" ), to_timestamp ("2023-01-08" ))],
24892489 ),
24902490 ]
2491+ assert plan_dev .context_diff .snapshots [context .get_snapshot (model .name ).snapshot_id ].intervals
2492+ assert plan_dev .context_diff .snapshots [
2493+ context .get_snapshot ("sushi.top_waiters" ).snapshot_id
2494+ ].intervals
2495+ assert plan_dev .context_diff .snapshots [
2496+ context .get_snapshot (model .name ).snapshot_id
2497+ ].dev_intervals
2498+ assert plan_dev .context_diff .snapshots [
2499+ context .get_snapshot ("sushi.top_waiters" ).snapshot_id
2500+ ].dev_intervals
24912501 context .apply (plan_dev )
24922502
24932503 # Make sure the waiter_revenue_by_day model is a table in prod and a view in dev
@@ -2539,6 +2549,9 @@ def test_virtual_environment_mode_dev_only_model_kind_change(init_and_plan_conte
25392549 prod_plan = context .plan_builder ("prod" , skip_tests = True ).build ()
25402550 assert prod_plan .missing_intervals
25412551 assert prod_plan .requires_backfill
2552+ assert not prod_plan .context_diff .snapshots [
2553+ context .get_snapshot (model .name ).snapshot_id
2554+ ].intervals
25422555 context .apply (prod_plan )
25432556 data_objects = context .engine_adapter .get_data_objects ("sushi" , {"top_waiters" })
25442557 assert len (data_objects ) == 1
@@ -2553,6 +2566,9 @@ def test_virtual_environment_mode_dev_only_model_kind_change(init_and_plan_conte
25532566 prod_plan = context .plan_builder ("prod" , skip_tests = True ).build ()
25542567 assert prod_plan .requires_backfill
25552568 assert prod_plan .missing_intervals
2569+ assert not prod_plan .context_diff .snapshots [
2570+ context .get_snapshot (model .name ).snapshot_id
2571+ ].intervals
25562572 context .apply (prod_plan )
25572573 data_objects = context .engine_adapter .get_data_objects ("sushi" , {"top_waiters" })
25582574 assert len (data_objects ) == 1
@@ -2565,6 +2581,24 @@ def test_virtual_environment_mode_dev_only_model_kind_change(init_and_plan_conte
25652581 prod_plan = context .plan_builder ("prod" , skip_tests = True ).build ()
25662582 assert prod_plan .requires_backfill
25672583 assert prod_plan .missing_intervals
2584+ assert not prod_plan .context_diff .snapshots [
2585+ context .get_snapshot (model .name ).snapshot_id
2586+ ].intervals
2587+ context .apply (prod_plan )
2588+ data_objects = context .engine_adapter .get_data_objects ("sushi" , {"top_waiters" })
2589+ assert len (data_objects ) == 1
2590+ assert data_objects [0 ].type == "table"
2591+
2592+ # Change back to full
2593+ model = context .get_model ("sushi.top_waiters" )
2594+ model = model .copy (update = {"kind" : FullKind ()})
2595+ context .upsert_model (model )
2596+ prod_plan = context .plan_builder ("prod" , skip_tests = True ).build ()
2597+ assert prod_plan .requires_backfill
2598+ assert prod_plan .missing_intervals
2599+ assert not prod_plan .context_diff .snapshots [
2600+ context .get_snapshot (model .name ).snapshot_id
2601+ ].intervals
25682602 context .apply (prod_plan )
25692603 data_objects = context .engine_adapter .get_data_objects ("sushi" , {"top_waiters" })
25702604 assert len (data_objects ) == 1
0 commit comments