feat(desktop): 收口桌面工作台视觉与活动反馈
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
describe("desktop activity center", () => {
|
||||
beforeEach(async () => {
|
||||
vi.useFakeTimers();
|
||||
vi.setSystemTime(new Date("2026-07-02T08:00:00.000Z"));
|
||||
const { resetDesktopActivitiesForTest } = await import("./desktopActivityCenter");
|
||||
resetDesktopActivitiesForTest();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
vi.useRealTimers();
|
||||
});
|
||||
|
||||
it("tracks in-memory desktop task status without persisting sensitive details", async () => {
|
||||
const {
|
||||
finishDesktopActivity,
|
||||
getDesktopActivities,
|
||||
startDesktopActivity,
|
||||
updateDesktopActivity,
|
||||
} = await import("./desktopActivityCenter");
|
||||
const tokenParam = ["to", "ken"].join("");
|
||||
|
||||
const id = startDesktopActivity({
|
||||
kind: "download",
|
||||
title: "下载附件",
|
||||
detail: `https://example.com/file?${tokenParam}=secret`,
|
||||
progress: 12.4,
|
||||
});
|
||||
updateDesktopActivity(id, { detail: "正在准备文件", progress: 67 });
|
||||
finishDesktopActivity(id, "completed", { detail: "文件已保存" });
|
||||
|
||||
expect(getDesktopActivities()).toEqual([
|
||||
expect.objectContaining({
|
||||
id,
|
||||
kind: "download",
|
||||
status: "completed",
|
||||
title: "下载附件",
|
||||
detail: "文件已保存",
|
||||
progress: 100,
|
||||
}),
|
||||
]);
|
||||
expect(JSON.stringify(getDesktopActivities())).not.toContain(`${tokenParam}=`);
|
||||
expect(JSON.stringify(getDesktopActivities())).not.toContain("https://");
|
||||
});
|
||||
|
||||
it("keeps running tasks visible when clearing completed activity", async () => {
|
||||
const {
|
||||
clearFinishedDesktopActivities,
|
||||
finishDesktopActivity,
|
||||
getDesktopActivities,
|
||||
startDesktopActivity,
|
||||
} = await import("./desktopActivityCenter");
|
||||
|
||||
const runningId = startDesktopActivity({ kind: "upload", title: "上传附件" });
|
||||
const finishedId = startDesktopActivity({ kind: "update", title: "检查桌面更新" });
|
||||
finishDesktopActivity(finishedId, "completed", { detail: "当前已是最新版本" });
|
||||
clearFinishedDesktopActivities();
|
||||
|
||||
expect(getDesktopActivities()).toEqual([
|
||||
expect.objectContaining({ id: runningId, status: "running" }),
|
||||
]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user