mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 07:11:39 +00:00
test: stabilize local-timestamp assertion in session resets
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user