diff --git a/src/delta_barth/analysis/forecast.py b/src/delta_barth/analysis/forecast.py index f5340ed..5fea086 100644 --- a/src/delta_barth/analysis/forecast.py +++ b/src/delta_barth/analysis/forecast.py @@ -202,6 +202,7 @@ def _process_sales( df_cust = df_cust.sort_values(by=DATE_FEAT).reset_index() # check data availability + # TODO rework criteria if len(df_cust) < min_num_data_points: pipe.fail(STATUS_HANDLER.pipe_states.TOO_FEW_POINTS) return pipe @@ -238,6 +239,7 @@ def _process_sales( reg.fit(X_train, y_train, eval_set=[(X_train, y_train), (X_test, y_test)], verbose=100) test.loc[:, "vorhersage"] = reg.predict(X_test) + test = test.drop(SALES_FEAT, axis=1) test = test.reset_index(drop=True) pipe.success(test, STATUS_HANDLER.SUCCESS) @@ -320,3 +322,12 @@ def pipeline_sales( assert pipe.results is not None, "needed export response not set in pipeline" return pipe.results + + +def pipeline_sales_dummy( + session: Session, + company_id: int | None = None, + start_date: Datetime | None = None, +) -> SalesPrognosisResultsExport: + """prototype dummy function for tests by DelBar""" + ... diff --git a/tests/_test_data/exmp_sales_prognosis_ouput.pkl b/tests/_test_data/exmp_sales_prognosis_ouput.pkl index 0ddfa5c..f263c71 100644 Binary files a/tests/_test_data/exmp_sales_prognosis_ouput.pkl and b/tests/_test_data/exmp_sales_prognosis_ouput.pkl differ diff --git a/tests/analysis/test_forecast.py b/tests/analysis/test_forecast.py index 7b65e4b..431aaf9 100644 --- a/tests/analysis/test_forecast.py +++ b/tests/analysis/test_forecast.py @@ -225,8 +225,18 @@ def test_postprocess_sales_FailValidation( assert "ValidationError" in pipe.status.description +def test_export_on_fail(): + status = STATUS_HANDLER.pipe_states.TOO_FEW_POINTS + res = fc._export_on_fail(status) + assert res.response is not None + assert len(res.response.daten) == 0 + assert res.status is not None + assert res.status.code == status.code + assert res.status.description == status.description + + def test_pipeline_sales_prognosis(exmpl_api_sales_prognosis_resp): - def mock_request(*args, **kwargs): + def mock_request(*args, **kwargs): # pragma: no cover return exmpl_api_sales_prognosis_resp, STATUS_HANDLER.SUCCESS with patch(