Skip to content

Commit d432fcf

Browse files
committed
test: bumping coverage
1 parent 47b9af7 commit d432fcf

3 files changed

Lines changed: 75 additions & 0 deletions

File tree

apps/cli/src/commands/cli/__tests__/list.test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { readWorkspaceTaskSessions } from "@/lib/task-history/index.js"
2+
import { isRecord } from "@/lib/utils/guards.js"
23

34
import { listSessions, parseFormat } from "../list.js"
45

@@ -38,6 +39,33 @@ describe("parseFormat", () => {
3839
})
3940
})
4041

42+
describe("router model extraction", () => {
43+
// This mirrors the extraction logic in requestOpenRouterModels (list.ts:226-228)
44+
const extractOpenRouterModels = (routerModelsRaw: unknown) => {
45+
const routerModels = isRecord(routerModelsRaw) ? routerModelsRaw : {}
46+
const openRouterModels = routerModels.openrouter
47+
return isRecord(openRouterModels) ? openRouterModels : {}
48+
}
49+
50+
it("extracts openrouter models from valid routerModels", () => {
51+
const models = { "openai/gpt-4.1": { contextWindow: 128000, supportsPromptCache: false } }
52+
const result = extractOpenRouterModels({ openrouter: models })
53+
expect(result).toEqual(models)
54+
})
55+
56+
it("returns empty object when routerModels is null", () => {
57+
expect(extractOpenRouterModels(null)).toEqual({})
58+
})
59+
60+
it("returns empty object when openrouter key is missing", () => {
61+
expect(extractOpenRouterModels({ requesty: {} })).toEqual({})
62+
})
63+
64+
it("returns empty object when openrouter value is not a record", () => {
65+
expect(extractOpenRouterModels({ openrouter: "invalid" })).toEqual({})
66+
})
67+
})
68+
4169
describe("listSessions", () => {
4270
const workspacePath = process.cwd()
4371

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { isSupportedProvider, supportedProviders } from "../types.js"
2+
3+
describe("isSupportedProvider", () => {
4+
it.each(supportedProviders)("returns true for supported provider '%s'", (provider) => {
5+
expect(isSupportedProvider(provider)).toBe(true)
6+
})
7+
8+
it("returns false for 'roo' (retired provider)", () => {
9+
expect(isSupportedProvider("roo")).toBe(false)
10+
})
11+
12+
it("returns false for unknown provider", () => {
13+
expect(isSupportedProvider("not-a-provider")).toBe(false)
14+
})
15+
16+
it("returns false for empty string", () => {
17+
expect(isSupportedProvider("")).toBe(false)
18+
})
19+
})
20+
21+
describe("provider resolution fallback", () => {
22+
it("defaults to openrouter when no flag or setting is provided", () => {
23+
const flagProvider = undefined
24+
const settingsProvider = undefined
25+
const effectiveProvider = flagProvider ?? settingsProvider ?? "openrouter"
26+
27+
expect(effectiveProvider).toBe("openrouter")
28+
expect(isSupportedProvider(effectiveProvider)).toBe(true)
29+
})
30+
31+
it("uses flag provider over settings and default", () => {
32+
const flagProvider = "anthropic"
33+
const settingsProvider = "gemini"
34+
const effectiveProvider = flagProvider ?? settingsProvider ?? "openrouter"
35+
36+
expect(effectiveProvider).toBe("anthropic")
37+
})
38+
39+
it("uses settings provider when flag is not provided", () => {
40+
const flagProvider = undefined
41+
const settingsProvider = "gemini"
42+
const effectiveProvider = flagProvider ?? settingsProvider ?? "openrouter"
43+
44+
expect(effectiveProvider).toBe("gemini")
45+
})
46+
})

apps/vscode-e2e/src/types/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { RooCodeAPI } from "@roo-code/types"
22

33
declare global {
4+
// eslint-disable-next-line no-var -- var is required in declare global
45
var api: RooCodeAPI
56
}
67

0 commit comments

Comments
 (0)