diff --git a/tests/adapters/abort-race.test.ts b/tests/adapters/abort-race.test.ts index 7843e1c0871..adfcdf659ce 100644 --- a/tests/adapters/abort-race.test.ts +++ b/tests/adapters/abort-race.test.ts @@ -4,12 +4,17 @@ import type { AdapterEvent, OcxConfig, OcxProviderConfig } from "../../src/types import { acquireOwnedSpendHome } from "../helpers/owned-spend-home"; const actualResolver = await import("../../src/server/adapter-resolve"); +// Capture the real function before the override. `mock.module` rewrites the namespace's live +// binding in place, so a lookup through `actualResolver` inside the wrapper would reach +// whichever override is current, including this one, once another file in the same process +// has mocked this module too. +const actualResolveAdapter = actualResolver.resolveAdapter; let adapterFactory: ((provider: OcxProviderConfig) => ProviderAdapter) | undefined; mock.module("../../src/server/adapter-resolve", () => ({ ...actualResolver, resolveAdapter(provider: OcxProviderConfig, cacheRetention?: "none" | "short" | "long") { - return adapterFactory?.(provider) ?? actualResolver.resolveAdapter(provider, cacheRetention); + return adapterFactory?.(provider) ?? actualResolveAdapter(provider, cacheRetention); }, })); diff --git a/tests/claude-integration/claude-code-thought-signature-scope.test.ts b/tests/claude-integration/claude-code-thought-signature-scope.test.ts index 814ce7ceb4a..6722dbf955e 100644 --- a/tests/claude-integration/claude-code-thought-signature-scope.test.ts +++ b/tests/claude-integration/claude-code-thought-signature-scope.test.ts @@ -14,13 +14,18 @@ import type { AdapterEvent, OcxConfig, OcxParsedRequest, OcxProviderConfig } fro import { acquireOwnedSpendHome } from "../helpers/owned-spend-home"; const actualResolver = await import("../../src/server/adapter-resolve"); +// Capture the real function before the override. `mock.module` rewrites the namespace's live +// binding in place, so a lookup through `actualResolver` inside the wrapper would reach +// whichever override is current, including this one, once another file in the same process +// has mocked this module too. +const actualResolveAdapter = actualResolver.resolveAdapter; let adapterFactory: ((provider: OcxProviderConfig) => ProviderAdapter) | undefined; mock.module("../../src/server/adapter-resolve", () => ({ ...actualResolver, resolveAdapter(provider: OcxProviderConfig, cacheRetention?: "none" | "short" | "long") { - return adapterFactory?.(provider) ?? actualResolver.resolveAdapter(provider, cacheRetention); + return adapterFactory?.(provider) ?? actualResolveAdapter(provider, cacheRetention); }, })); diff --git a/tests/routing/routing-policy-surface-parity.test.ts b/tests/routing/routing-policy-surface-parity.test.ts index 5bdd93161a7..afcc0795243 100644 --- a/tests/routing/routing-policy-surface-parity.test.ts +++ b/tests/routing/routing-policy-surface-parity.test.ts @@ -114,12 +114,17 @@ describe("routing policy request evidence parity (translator-level coverage)", ( // ---- Handler-level parity tests (via dev handler entry points) ---- const actualResolver = await import("../../src/server/adapter-resolve"); +// Capture the real function before the override. `mock.module` rewrites the namespace's live +// binding in place, so a lookup through `actualResolver` inside the wrapper would reach +// whichever override is current, including this one, once another file in the same process +// has mocked this module too. +const actualResolveAdapter = actualResolver.resolveAdapter; let adapterFactory: ((provider: OcxProviderConfig) => ProviderAdapter) | undefined; mock.module("../../src/server/adapter-resolve", () => ({ ...actualResolver, resolveAdapter(provider: OcxProviderConfig, cacheRetention?: "none" | "short" | "long") { - return adapterFactory?.(provider) ?? actualResolver.resolveAdapter(provider, cacheRetention); + return adapterFactory?.(provider) ?? actualResolveAdapter(provider, cacheRetention); }, }));