



























@@ -31,7 +31,16 @@ async function readJsonlRecords(filePath: string): Promise<ReplayRecord[]> {
3131}
32323333async function expectPathMissing(targetPath: string): Promise<void> {
34-await expect(fs.stat(targetPath)).rejects.toMatchObject({ code: "ENOENT" });
34+let statError: unknown;
35+try {
36+await fs.stat(targetPath);
37+} catch (error) {
38+statError = error;
39+}
40+expect(statError).toBeDefined();
41+expect(typeof statError).toBe("object");
42+expect(statError).not.toBeNull();
43+expect((statError as NodeJS.ErrnoException).code).toBe("ENOENT");
3544}
36453746describe("replayRecentUserAssistantMessages", () => {
@@ -63,11 +72,25 @@ describe("replayRecentUserAssistantMessages", () => {
63726473expect(await call(source, target)).toBe(DEFAULT_REPLAY_MAX_MESSAGES);
6574const records = await readJsonlRecords(target);
66-expect(records[0]).toMatchObject({ type: "session", id: "new-session" });
75+expect(records[0]?.type).toBe("session");
76+expect(records[0]?.id).toBe("new-session");
6777expect(records).toHaveLength(1 + DEFAULT_REPLAY_MAX_MESSAGES);
68-for (const r of records.slice(1)) {
69-expect(["user", "assistant"]).toContain(r.message?.role);
70-}
78+expect(records.slice(1).map((record) => record.message?.role)).toEqual([
79+"user",
80+"assistant",
81+"user",
82+"assistant",
83+"user",
84+"assistant",
85+]);
86+expect(records.slice(1).map((record) => record.message?.content)).toEqual([
87+"m4",
88+"m5",
89+"m6",
90+"m7",
91+"m8",
92+"m9",
93+]);
7194expect(await call(path.join(root, "missing.jsonl"), path.join(root, "out.jsonl"))).toBe(0);
72957396const assistantSource = path.join(root, "all-assistant.jsonl");
@@ -93,7 +116,7 @@ describe("replayRecentUserAssistantMessages", () => {
93116expect(await call(source, target)).toBe(DEFAULT_REPLAY_MAX_MESSAGES - 1);
94117const records = await readJsonlRecords(target);
95118expect(records.reduce((count, r) => count + (r.type === "session" ? 1 : 0), 0)).toBe(1);
96-expect(records[0]).toMatchObject({ id: "existing" });
119+expect(records[0]?.id).toBe("existing");
97120expect(records[1].message?.role).toBe("user");
98121});
99122此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。