fix(test): preserve new module exports in mocks

This commit is contained in:
Vincent Koc
2026-04-17 14:06:04 -07:00
parent 8a0977f405
commit d834d270df
7 changed files with 68 additions and 32 deletions

View File

@@ -71,12 +71,17 @@ vi.mock("./external-auth.js", () => ({
shouldPersistExternalAuthProfile: () => true,
}));
vi.mock("./external-cli-sync.js", () => ({
resolveExternalCliAuthProfiles: () => [],
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
}));
vi.mock("./external-cli-sync.js", async () => {
const actual =
await vi.importActual<typeof import("./external-cli-sync.js")>("./external-cli-sync.js");
return {
...actual,
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
resolveExternalCliAuthProfiles: () => [],
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
};
});
function createExpiredOauthStore(params: {
profileId: string;

View File

@@ -78,12 +78,17 @@ vi.mock("./doctor.js", () => ({
formatAuthDoctorHint: async () => undefined,
}));
vi.mock("./external-cli-sync.js", () => ({
resolveExternalCliAuthProfiles: () => [],
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
}));
vi.mock("./external-cli-sync.js", async () => {
const actual =
await vi.importActual<typeof import("./external-cli-sync.js")>("./external-cli-sync.js");
return {
...actual,
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
resolveExternalCliAuthProfiles: () => [],
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
};
});
function oauthCred(params: {
provider: string;

View File

@@ -64,12 +64,17 @@ vi.mock("./doctor.js", () => ({
// External-CLI sync does real I/O against the user's Codex/MiniMax CLI
// credential files; it is slow and can pollute test state. Stub it to a no-op
// so the suite only exercises in-repo auth-profile logic.
vi.mock("./external-cli-sync.js", () => ({
resolveExternalCliAuthProfiles: () => [],
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
}));
vi.mock("./external-cli-sync.js", async () => {
const actual =
await vi.importActual<typeof import("./external-cli-sync.js")>("./external-cli-sync.js");
return {
...actual,
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
resolveExternalCliAuthProfiles: () => [],
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
};
});
function createExpiredOauthStore(params: {
profileId: string;

View File

@@ -75,12 +75,17 @@ vi.mock("./doctor.js", () => ({
formatAuthDoctorHint: async () => undefined,
}));
vi.mock("./external-cli-sync.js", () => ({
resolveExternalCliAuthProfiles: () => [],
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
}));
vi.mock("./external-cli-sync.js", async () => {
const actual =
await vi.importActual<typeof import("./external-cli-sync.js")>("./external-cli-sync.js");
return {
...actual,
syncExternalCliCredentials: () => false,
readManagedExternalCliCredential: () => null,
resolveExternalCliAuthProfiles: () => [],
areOAuthCredentialsEquivalent: (a: unknown, b: unknown) => a === b,
};
});
function createExpiredOauthStore(params: {
profileId: string;

View File

@@ -9,10 +9,16 @@ vi.mock("../plugins/provider-runtime.js", () => ({
resolveExternalAuthProfilesWithPlugins: () => [],
}));
vi.mock("./auth-profiles/external-cli-sync.js", () => ({
resolveExternalCliAuthProfiles: () => [],
readManagedExternalCliCredential: () => null,
}));
vi.mock("./auth-profiles/external-cli-sync.js", async () => {
const actual = await vi.importActual<typeof import("./auth-profiles/external-cli-sync.js")>(
"./auth-profiles/external-cli-sync.js",
);
return {
...actual,
readManagedExternalCliCredential: () => null,
resolveExternalCliAuthProfiles: () => [],
};
});
type AuthProfileStore = Parameters<typeof saveAuthProfileStore>[0];

View File

@@ -38,9 +38,15 @@ vi.mock("./channel-setup/discovery.js", () => ({
isCatalogChannelInstalled: discoveryMocks.isCatalogChannelInstalled,
}));
vi.mock("../channels/plugins/bundled.js", () => ({
getBundledChannelPlugin: vi.fn(() => undefined),
}));
vi.mock("../channels/plugins/bundled.js", async () => {
const actual = await vi.importActual<typeof import("../channels/plugins/bundled.js")>(
"../channels/plugins/bundled.js",
);
return {
...actual,
getBundledChannelPlugin: vi.fn(() => undefined),
};
});
vi.mock("./channel-setup/plugin-install.js", () => pluginInstallMocks);

View File

@@ -14,7 +14,10 @@ import {
let tempRoots: string[] = [];
vi.mock("../channels/plugins/bundled.js", () => {
vi.mock("../channels/plugins/bundled.js", async () => {
const actual = await vi.importActual<typeof import("../channels/plugins/bundled.js")>(
"../channels/plugins/bundled.js",
);
function fileExists(filePath: string): boolean {
try {
return fs.existsSync(filePath) && fs.statSync(filePath).isFile();
@@ -88,6 +91,7 @@ vi.mock("../channels/plugins/bundled.js", () => {
}
return {
...actual,
listBundledChannelLegacySessionSurfaces: vi.fn(() => [
{
isLegacyGroupSessionKey: (key: string) => /^group:.+@g\.us$/i.test(key.trim()),