24 lines
1.3 KiB
TypeScript
24 lines
1.3 KiB
TypeScript
import { renderToStaticMarkup } from "react-dom/server";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
import { AIConfigDiffReviewPanel } from "./AIConfigDiffReviewPanel";
|
|
import { ProductionGovernancePanel } from "./ProductionGovernancePanel";
|
|
import governanceSource from "./ProductionGovernancePanel.tsx?raw";
|
|
import lifecycleSource from "./PluginLifecycleWorkbench.tsx?raw";
|
|
import diffSource from "./AIConfigDiffReviewPanel.tsx?raw";
|
|
|
|
describe("production operations components", () => {
|
|
it("renders persisted loading states without optimistic terminal success", () => {
|
|
expect(renderToStaticMarkup(<ProductionGovernancePanel />)).toContain("正在同步容量与告警");
|
|
expect(renderToStaticMarkup(<AIConfigDiffReviewPanel />)).toContain("正在同步 AI 配置差异");
|
|
for (const source of [governanceSource, lifecycleSource, diffSource]) {
|
|
expect(source).not.toContain("setTimeout");
|
|
expect(source).not.toMatch(/apiKeyRef|rawApiKey|runSocket|providerBaseUrl|hostPath|directRun/i);
|
|
expect(source).toContain("disabled=");
|
|
}
|
|
expect(governanceSource).toContain("if (!intent || busyKey) return");
|
|
expect(lifecycleSource).toContain("if (!selectedServerId || busy) return");
|
|
expect(diffSource).toContain("if (!selected || busyId) return");
|
|
});
|
|
});
|