remove sales value from forecast response

This commit is contained in:
Florian Förster 2025-03-14 09:00:42 +01:00
parent 653b6bb973
commit d9b4ab42a7
3 changed files with 22 additions and 1 deletions

View File

@ -202,6 +202,7 @@ def _process_sales(
df_cust = df_cust.sort_values(by=DATE_FEAT).reset_index() df_cust = df_cust.sort_values(by=DATE_FEAT).reset_index()
# check data availability # check data availability
# TODO rework criteria
if len(df_cust) < min_num_data_points: if len(df_cust) < min_num_data_points:
pipe.fail(STATUS_HANDLER.pipe_states.TOO_FEW_POINTS) pipe.fail(STATUS_HANDLER.pipe_states.TOO_FEW_POINTS)
return pipe 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) 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.loc[:, "vorhersage"] = reg.predict(X_test)
test = test.drop(SALES_FEAT, axis=1)
test = test.reset_index(drop=True) test = test.reset_index(drop=True)
pipe.success(test, STATUS_HANDLER.SUCCESS) 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" assert pipe.results is not None, "needed export response not set in pipeline"
return pipe.results 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"""
...

View File

@ -225,8 +225,18 @@ def test_postprocess_sales_FailValidation(
assert "ValidationError" in pipe.status.description 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 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 return exmpl_api_sales_prognosis_resp, STATUS_HANDLER.SUCCESS
with patch( with patch(