from unittest.mock import patch, call import pandas as pd from tadas.snowflake import snowflake_publish def test_save_combined_df(monkeypatch): combined_data = [ { 'report_date': '2025-09-20', 'isrc_cd': 'ZAB7A1600105', 'consecutive_trend': 10, 'combined_forecast': 0.2, 'pfn_geo': 'US_ZAB7A1600105', 'geo_country': 'US', 'wow_amazon_search_streams': 1, 'vs_forecast_lift': 0.2, 'wow_tt_creations': 3}, { 'report_date': '2025-09-20', 'isrc_cd': 'ZAB7A1800292', 'consecutive_trend': 5, 'combined_forecast': 0, 'pfn_geo': 'US_ZAB7A1800292', 'geo_country': 'US', 'wow_amazon_search_streams': 2, 'vs_forecast_lift': 0, 'wow_tt_creations': 4}, ] combined_df = pd.DataFrame(combined_data) monkeypatch.setenv('SNOWFLAKE_SCHEMA', 'test_schema') with patch.object(snowflake_publish.snowflake_utils, 'saveto_snowflake') as mock_save: snowflake_publish.save_combined_df( combined_df=combined_df, table_name='test_combined_table', ) assert mock_save.call_args_list == [ call( df=combined_df, myschema='test_schema', table='test_combined_table', mode='replace', fix_column_names=True, ) ]