test: stabilize local-timestamp assertion in session resets

This commit is contained in:
Peter Steinberger
2026-02-13 04:58:11 +00:00
parent 67251e97bd
commit 417509c539

View File

@@ -4,6 +4,7 @@ import path from "node:path";
import { describe, expect, it, vi } from "vitest"; import { describe, expect, it, vi } from "vitest";
import type { OpenClawConfig } from "../../config/config.js"; import type { OpenClawConfig } from "../../config/config.js";
import { buildModelAliasIndex } from "../../agents/model-selection.js"; import { buildModelAliasIndex } from "../../agents/model-selection.js";
import { formatZonedTimestamp } from "../../infra/format-time/format-datetime.ts";
import { enqueueSystemEvent, resetSystemEventsForTest } from "../../infra/system-events.js"; import { enqueueSystemEvent, resetSystemEventsForTest } from "../../infra/system-events.js";
import { applyResetModelOverride } from "./session-reset-model.js"; import { applyResetModelOverride } from "./session-reset-model.js";
import { prependSystemEvents } from "./session-updates.js"; import { prependSystemEvents } from "./session-updates.js";
@@ -616,25 +617,26 @@ describe("initSessionState preserves behavior overrides across /new and /reset",
describe("prependSystemEvents", () => { describe("prependSystemEvents", () => {
it("adds a local timestamp to queued system events by default", async () => { it("adds a local timestamp to queued system events by default", async () => {
vi.useFakeTimers(); vi.useFakeTimers();
const originalTz = process.env.TZ; try {
process.env.TZ = "America/Los_Angeles"; const timestamp = new Date("2026-01-12T20:19:17Z");
const timestamp = new Date("2026-01-12T20:19:17Z"); const expectedTimestamp = formatZonedTimestamp(timestamp, { displaySeconds: true });
vi.setSystemTime(timestamp); vi.setSystemTime(timestamp);
enqueueSystemEvent("Model switched.", { sessionKey: "agent:main:main" }); enqueueSystemEvent("Model switched.", { sessionKey: "agent:main:main" });
const result = await prependSystemEvents({ const result = await prependSystemEvents({
cfg: {} as OpenClawConfig, cfg: {} as OpenClawConfig,
sessionKey: "agent:main:main", sessionKey: "agent:main:main",
isMainSession: false, isMainSession: false,
isNewSession: false, isNewSession: false,
prefixedBodyBase: "User: hi", prefixedBodyBase: "User: hi",
}); });
expect(result).toMatch(/System: \[2026-01-12 12:19:17 [^\]]+\] Model switched\./); expect(expectedTimestamp).toBeDefined();
expect(result).toContain(`System: [${expectedTimestamp}] Model switched.`);
resetSystemEventsForTest(); } finally {
process.env.TZ = originalTz; resetSystemEventsForTest();
vi.useRealTimers(); vi.useRealTimers();
}
}); });
}); });