清理市场概览残留:删除 MarketOverviewBanner+refresh_policy 中的 marketOverview 条目
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import {
|
||||
DASHBOARD_REFRESH_POLICY_MS,
|
||||
DASHBOARD_REFRESH_POLICY_SEC,
|
||||
} from "@/lib/refresh-policy";
|
||||
import { scanTerminalQueryPolicy } from "@/components/dashboard/scan-terminal/scan-terminal-client";
|
||||
|
||||
function assert(condition: unknown, message: string) {
|
||||
if (!condition) throw new Error(message);
|
||||
}
|
||||
|
||||
export function runTests() {
|
||||
assert(DASHBOARD_REFRESH_POLICY_MS.observation === 60_000, "observation layer should refresh every 60 seconds");
|
||||
assert(DASHBOARD_REFRESH_POLICY_MS.scanRows === 5 * 60_000, "region/city rows should refresh every 5 minutes");
|
||||
assert(DASHBOARD_REFRESH_POLICY_MS.model === 30 * 60_000, "DEB and multi-model data should refresh every 30 minutes");
|
||||
assert(DASHBOARD_REFRESH_POLICY_SEC.metar === 5 * 60, "METAR polling should be 5 minutes");
|
||||
assert(scanTerminalQueryPolicy.autoRefreshMs === DASHBOARD_REFRESH_POLICY_MS.scanRows, "scan terminal auto refresh should use the shared row cadence");
|
||||
|
||||
const projectRoot = process.cwd();
|
||||
const querySource = fs.readFileSync(
|
||||
path.join(projectRoot, "components", "dashboard", "scan-terminal", "use-scan-terminal-query.ts"),
|
||||
"utf8",
|
||||
);
|
||||
const chartSource = fs.readFileSync(
|
||||
path.join(projectRoot, "components", "dashboard", "scan-terminal", "LiveTemperatureThresholdChart.tsx"),
|
||||
"utf8",
|
||||
);
|
||||
const overviewApiSource = fs.readFileSync(
|
||||
path.join(projectRoot, "..", "web", "services", "market_overview_api.py"),
|
||||
"utf8",
|
||||
);
|
||||
|
||||
assert(
|
||||
querySource.includes("DASHBOARD_REFRESH_POLICY_MS.scanRows"),
|
||||
"scan list local cache should use the shared 5-minute row cadence",
|
||||
);
|
||||
assert(
|
||||
chartSource.includes("DASHBOARD_REFRESH_POLICY_MS.observation"),
|
||||
"selected city chart detail cache should use the shared 60-second observation cadence",
|
||||
);
|
||||
assert(
|
||||
!overviewApiSource.includes("/chat/completions") &&
|
||||
!overviewApiSource.includes("SCAN_CITY_AI_MODEL") &&
|
||||
!overviewApiSource.includes("_scan_ai_api_key"),
|
||||
"market overview must be deterministic and must not call AI providers",
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user