from src import create_app def test_demo_algorithms_route_returns_available_models(): app = create_app() client = app.test_client() response = client.get("/api/demo/algorithms") assert response.status_code == 200 payload = response.get_json() assert any(item["key"] == "random_forest" for item in payload["algorithms"]) def test_demo_dataset_route_returns_local_file_summary(): app = create_app() client = app.test_client() response = client.get("/api/demo/dataset") assert response.status_code == 200 payload = response.get_json() assert payload["source"] == "local-file" assert payload["row_count"] >= 20 def test_demo_run_route_returns_metrics_without_mysql(): app = create_app() client = app.test_client() response = client.post( "/api/demo/run", json={"algorithms": ["linear", "random_forest"]}, ) assert response.status_code == 200 payload = response.get_json() assert payload["source"] == "local-file" assert set(payload["metrics"]) == {"linear", "random_forest"} assert payload["prediction_points"]