import { describe, expect, it } from "vitest"; import { healthLine, healthMessage, healthTechItems } from "./site-fields.ts"; describe("健康检测文案(HC-1)", () => { it("人机验证单独成类;失败原因一句,原始判定进技术信息", () => { const h = { ok: false, status: "auth_expired", latencyMs: 120, message: '健康检查:首页里找不到登录标志(选择器 a[href*="logout"])', detail: { reason: "marker_missing", selector: 'a[href*="logout"]', path: "index.php", title: "Site :: 首页" }, }; expect(healthMessage(h)).toContain("找不到登录标志"); expect(healthTechItems(h)).toEqual([ { label: "判定", value: "页面里找不到登录标志(marker_missing)" }, { label: "登录标志选择器", value: 'a[href*="logout"]', mono: true }, { label: "检测页面", value: "index.php", mono: true }, { label: "页面标题", value: "Site :: 首页" }, ]); expect(healthLine({ ok: false, status: "challenge", latencyMs: null, message: null }, null).text).toContain( "需要人机验证", ); // 旧记录没有 detail expect(healthTechItems({ ok: true, status: "ok", latencyMs: 1, message: null })).toEqual([]); }); });