feat: 接入系统能力并完善运行中心
这个提交包含在:
1 父节点
aff2d5cd95
当前提交
f9688251ea
8 个文件已更改
+357
-34
没有与搜索条件相匹配的文件
@@ -0,0 +1,48 @@
|
||||
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const electronState = vi.hoisted(() => ({ userData: "" }));
|
||||
vi.mock("electron", () => ({
|
||||
app: {
|
||||
getPath: () => electronState.userData,
|
||||
getVersion: () => "test"
|
||||
}
|
||||
}));
|
||||
|
||||
import { createFlow, listFlows, saveFlow } from "./flows";
|
||||
|
||||
describe("flow summaries", () => {
|
||||
beforeEach(async () => {
|
||||
electronState.userData = await mkdtemp(path.join(os.tmpdir(), "rpa-flow-summary-"));
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
await rm(electronState.userData, { recursive: true, force: true });
|
||||
});
|
||||
|
||||
it("loads the latest persisted run into the task summary", async () => {
|
||||
const flow = saveFlow(createFlow("运行记录任务"));
|
||||
const olderDir = path.join(electronState.userData, "runs", "older");
|
||||
const latestDir = path.join(electronState.userData, "runs", "latest");
|
||||
await mkdir(olderDir, { recursive: true });
|
||||
await mkdir(latestDir, { recursive: true });
|
||||
await writeFile(path.join(olderDir, "run.json"), JSON.stringify({
|
||||
flowId: flow.id, status: "succeeded", finishedAt: "2026-10-27T01:00:00.000Z", durationMs: 120
|
||||
}));
|
||||
await writeFile(path.join(latestDir, "run.json"), JSON.stringify({
|
||||
flowId: flow.id, status: "failed", finishedAt: "2026-10-27T02:00:00.000Z", durationMs: 456,
|
||||
error: { reason: "测试失败原因" }
|
||||
}));
|
||||
|
||||
expect(listFlows()).toContainEqual(expect.objectContaining({
|
||||
id: flow.id,
|
||||
name: "运行记录任务",
|
||||
lastRunStatus: "failed",
|
||||
lastRunAt: "2026-10-27T02:00:00.000Z",
|
||||
lastRunDurationMs: 456,
|
||||
lastRunError: "测试失败原因"
|
||||
}));
|
||||
});
|
||||
});
|
||||
在新工单中引用
屏蔽一个用户