@@ -238,6 +238,16 @@ def test_model_kind():
238238 auto_restatement_cron = "0 0 * * *" ,
239239 )
240240
241+ # Test incompatibile incremental strategies
242+ for incremental_strategy in ("delete+insert" , "insert_overwrite" , "append" ):
243+ assert ModelConfig (
244+ materialized = Materialization .INCREMENTAL ,
245+ unique_key = ["bar" ],
246+ incremental_strategy = incremental_strategy ,
247+ ).model_kind (context ) == IncrementalByUniqueKeyKind (
248+ unique_key = ["bar" ], dialect = "duckdb" , forward_only = True , disable_restatement = False
249+ )
250+
241251 assert ModelConfig (
242252 materialized = Materialization .INCREMENTAL , time_column = "foo" , incremental_strategy = "merge"
243253 ).model_kind (context ) == IncrementalByTimeRangeKind (
@@ -372,25 +382,6 @@ def test_model_kind():
372382 == ManagedKind ()
373383 )
374384
375- with pytest .raises (ConfigError ):
376- ModelConfig (
377- materialized = Materialization .INCREMENTAL ,
378- unique_key = ["bar" ],
379- incremental_strategy = "delete+insert" ,
380- ).model_kind (context )
381- with pytest .raises (ConfigError ):
382- ModelConfig (
383- materialized = Materialization .INCREMENTAL ,
384- unique_key = ["bar" ],
385- incremental_strategy = "insert_overwrite" ,
386- ).model_kind (context )
387- with pytest .raises (ConfigError ):
388- ModelConfig (
389- materialized = Materialization .INCREMENTAL ,
390- unique_key = ["bar" ],
391- incremental_strategy = "append" ,
392- ).model_kind (context )
393-
394385
395386def test_model_kind_snapshot_bigquery ():
396387 context = DbtContext ()
0 commit comments