code: def test_silverkite_wow(df_daily):
      """Tests the SILVERKITE_WOW model template."""
      forecaster = Forecaster()
      config = ForecastConfig(
          model_template="SILVERKITE_WOW",
          forecast_horizon=7,
          metadata_param=MetadataParam(freq="D"),
          model_components_param=ModelComponentsParam(
              custom=dict(
                  multistage_forecast_configs=[
                      MultistageForecastTemplateConfig(
                          train_length="1000D",
                          model_template="SILVERKITE_EMPTY",
                          model_components=ModelComponentsParam(
                              seasonality=dict(
                                  quarterly_seasonality=False
                              )
                          ),
                      ),
                      MultistageForecastTemplateConfig(
                          train_length="500D",
                          model_template="LAG_BASED",
                          model_components=ModelComponentsParam(
                              custom=dict(lags=[1, 2, 3])
                          ),
                      ),
                  ]
              )
          ),
          evaluation_period_param=EvaluationPeriodParam(
              cv_max_splits=1, test_horizon=7
          ),
      )
      forecast_result = forecaster.run_forecast_config(
          df=df_daily, config=config
      )
      assert all(
          [
              "quarterly" not in col
              for col in forecast_result.model[-1]
              .models[0]
              .model_dict["x_mat"]
              .columns
          ]
      )
      with LogCapture(LOGGER_NAME) as log_capture:
          forecast_result.model[-1].models[1].summary()
          log_capture.check_present(
              (
                  LOGGER_NAME,
                  "INFO",
                  f"This is a lag based forecast model that uses lags '[1, 2, 3]', "
                  f"with unit 'week' and aggregation function 'mean'.",
              )
          )
  
imports: import datetime
  import numpy
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import PREDICTED_COL
  from greykite.common.constants import PREDICTED_LOWER_COL
  from greykite.common.constants import PREDICTED_UPPER_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.autogen.forecast_config import ModelComponentsParam
  from greykite.framework.templates.forecaster import Forecaster
  from greykite.framework.templates.multistage_forecast_template import MultistageForecastTemplate
  from greykite.framework.templates.multistage_forecast_template_config import SILVERKITE_TWO_STAGE
  from greykite.framework.templates.multistage_forecast_template_config import MultistageForecastTemplateConfig
  from greykite.framework.templates.simple_silverkite_template import SimpleSilverkiteTemplate
  from greykite.sklearn.estimator.simple_silverkite_estimator import SimpleSilverkiteEstimator
  from greykite.sklearn.uncertainty.uncertainty_methods import UncertaintyMethodEnum
label_desc: Use image node_id 22 for calling a global function with example usage: test_silverkite_wow(df_daily) without return types