refactor: simplify reply-threading and test helpers

This commit is contained in:
Peter Steinberger
2026-04-03 23:04:34 +09:00
parent 1125cd3b97
commit 8d0bed458e
8 changed files with 277 additions and 119 deletions

View File

@@ -0,0 +1,28 @@
import { vi } from "vitest";
import type * as SessionWriteLockModule from "../agents/session-write-lock.js";
type SessionWriteLockModuleShape = typeof SessionWriteLockModule;
export async function buildSessionWriteLockModuleMock(
importOriginal: () => Promise<SessionWriteLockModuleShape>,
acquireSessionWriteLock: SessionWriteLockModuleShape["acquireSessionWriteLock"],
): Promise<SessionWriteLockModuleShape> {
const original = await importOriginal();
return {
...original,
acquireSessionWriteLock,
};
}
export function resetModulesWithSessionWriteLockDoMock(
modulePath: string,
acquireSessionWriteLock: SessionWriteLockModuleShape["acquireSessionWriteLock"],
): void {
vi.resetModules();
vi.doMock(modulePath, (importOriginal) =>
buildSessionWriteLockModuleMock(
importOriginal as () => Promise<SessionWriteLockModuleShape>,
acquireSessionWriteLock,
),
);
}