test: localize mock.module setup to fresh imports
This commit is contained in:
@@ -20,23 +20,23 @@ const mockLog = mock(() => {})
|
||||
const mockMigrateLegacyPluginEntry = mock(() => false)
|
||||
let consoleWarnSpy: ReturnType<typeof spyOn>
|
||||
|
||||
mock.module("./legacy-plugin-warning", () => ({
|
||||
checkForLegacyPluginEntry: mockCheckForLegacyPluginEntry,
|
||||
}))
|
||||
|
||||
mock.module("./logger", () => ({
|
||||
log: mockLog,
|
||||
}))
|
||||
|
||||
mock.module("./migrate-legacy-plugin-entry", () => ({
|
||||
migrateLegacyPluginEntry: mockMigrateLegacyPluginEntry,
|
||||
}))
|
||||
|
||||
afterAll(() => {
|
||||
mock.restore()
|
||||
})
|
||||
|
||||
async function importFreshStartupWarningModule(): Promise<typeof import("./log-legacy-plugin-startup-warning")> {
|
||||
mock.module("./legacy-plugin-warning", () => ({
|
||||
checkForLegacyPluginEntry: mockCheckForLegacyPluginEntry,
|
||||
}))
|
||||
|
||||
mock.module("./logger", () => ({
|
||||
log: mockLog,
|
||||
}))
|
||||
|
||||
mock.module("./migrate-legacy-plugin-entry", () => ({
|
||||
migrateLegacyPluginEntry: mockMigrateLegacyPluginEntry,
|
||||
}))
|
||||
|
||||
const module = await import(`./log-legacy-plugin-startup-warning?test=${Date.now()}-${Math.random()}`)
|
||||
mock.restore()
|
||||
consoleWarnSpy = spyOn(console, "warn").mockImplementation(() => {})
|
||||
|
||||
@@ -1,22 +1,27 @@
|
||||
import type { ModelCapabilitiesSnapshot } from "./model-capabilities"
|
||||
import { afterAll, describe, expect, test, mock } from "bun:test"
|
||||
|
||||
// Mock connected-providers-cache to prevent local disk cache from polluting test results.
|
||||
// Without this, findProviderModelMetadata reads real cached model metadata (e.g., from opencode serve)
|
||||
// which causes the "prefers runtime models.dev cache" test to get different values than expected.
|
||||
mock.module("./connected-providers-cache", () => ({
|
||||
findProviderModelMetadata: () => undefined,
|
||||
readConnectedProvidersCache: () => null,
|
||||
hasConnectedProvidersCache: () => false,
|
||||
hasProviderModelsCache: () => false,
|
||||
}))
|
||||
|
||||
afterAll(() => {
|
||||
mock.restore()
|
||||
})
|
||||
|
||||
const { getModelCapabilities, getBundledModelCapabilitiesSnapshot } = await import("./model-capabilities")
|
||||
mock.restore()
|
||||
async function importFreshModelCapabilitiesModule() {
|
||||
// Mock connected-providers-cache to prevent local disk cache from polluting test results.
|
||||
// Without this, findProviderModelMetadata reads real cached model metadata (e.g., from opencode serve)
|
||||
// which causes the "prefers runtime models.dev cache" test to get different values than expected.
|
||||
mock.module("./connected-providers-cache", () => ({
|
||||
findProviderModelMetadata: () => undefined,
|
||||
readConnectedProvidersCache: () => null,
|
||||
hasConnectedProvidersCache: () => false,
|
||||
hasProviderModelsCache: () => false,
|
||||
}))
|
||||
|
||||
const module = await import(`./model-capabilities?test=${Date.now()}-${Math.random()}`)
|
||||
mock.restore()
|
||||
return module
|
||||
}
|
||||
|
||||
const { getModelCapabilities, getBundledModelCapabilitiesSnapshot } = await importFreshModelCapabilitiesModule()
|
||||
import { AGENT_MODEL_REQUIREMENTS, CATEGORY_MODEL_REQUIREMENTS } from "./model-requirements"
|
||||
|
||||
describe("getModelCapabilities", () => {
|
||||
|
||||
@@ -3,14 +3,19 @@ const { describe, expect, test, beforeEach, mock, afterAll } = require("bun:test
|
||||
|
||||
const readConnectedProvidersCacheMock = mock(() => null)
|
||||
|
||||
mock.module("./connected-providers-cache", () => ({
|
||||
readConnectedProvidersCache: readConnectedProvidersCacheMock,
|
||||
}))
|
||||
async function importFreshModelErrorClassifierModule() {
|
||||
mock.module("./connected-providers-cache", () => ({
|
||||
readConnectedProvidersCache: readConnectedProvidersCacheMock,
|
||||
}))
|
||||
|
||||
const module = await import(`./model-error-classifier?test=${Date.now()}-${Math.random()}`)
|
||||
mock.restore()
|
||||
return module
|
||||
}
|
||||
|
||||
afterAll(() => { mock.restore() })
|
||||
|
||||
const { shouldRetryError, selectFallbackProvider } = await import("./model-error-classifier")
|
||||
mock.restore()
|
||||
const { shouldRetryError, selectFallbackProvider } = await importFreshModelErrorClassifierModule()
|
||||
|
||||
describe("model-error-classifier", () => {
|
||||
beforeEach(() => {
|
||||
|
||||
Reference in New Issue
Block a user