refactor(test): use env snapshots in setup hooks

This commit is contained in:
Peter Steinberger
2026-02-21 13:14:49 +00:00
parent 7724abeee0
commit 992b7e5577
4 changed files with 44 additions and 41 deletions

View File

@@ -2,6 +2,7 @@ import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { captureEnv } from "../test-utils/env.js";
const note = vi.hoisted(() => vi.fn());
@@ -13,21 +14,17 @@ import { noteSessionLockHealth } from "./doctor-session-locks.js";
describe("noteSessionLockHealth", () => {
let root: string;
let prevStateDir: string | undefined;
let envSnapshot: ReturnType<typeof captureEnv>;
beforeEach(async () => {
note.mockReset();
prevStateDir = process.env.OPENCLAW_STATE_DIR;
envSnapshot = captureEnv(["OPENCLAW_STATE_DIR"]);
root = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-doctor-locks-"));
process.env.OPENCLAW_STATE_DIR = root;
});
afterEach(async () => {
if (prevStateDir === undefined) {
delete process.env.OPENCLAW_STATE_DIR;
} else {
process.env.OPENCLAW_STATE_DIR = prevStateDir;
}
envSnapshot.restore();
await fs.rm(root, { recursive: true, force: true });
});