Skip to content

Commit 795d179

Browse files
James Mtendamemacursoragent
andcommitted
test(zoo-gateway): cover stale baseUrl seeding path
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 152bb1c commit 795d179

1 file changed

Lines changed: 27 additions & 3 deletions

File tree

src/core/webview/__tests__/ClineProvider.spec.ts

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3788,14 +3788,17 @@ describe("ClineProvider - Comprehensive Edit/Delete Edge Cases", () => {
37883788
expect(handleSpy).not.toHaveBeenCalled()
37893789
})
37903790

3791-
it("skips seeding when every zoo-gateway profile already has the current token", async () => {
3791+
it("skips seeding when every zoo-gateway profile already has the current token and base URL", async () => {
37923792
const { getCachedZooCodeToken } = await import("../../../services/zoo-code-auth")
37933793
vi.mocked(getCachedZooCodeToken).mockReturnValue("current-token")
37943794
const handleSpy = vi.spyOn(provider, "handleZooCodeCallback").mockResolvedValue(undefined)
37953795

37963796
;(provider as any).providerSettingsManager = {
37973797
listConfig: vi.fn().mockResolvedValue([{ name: "Zoo Gateway", apiProvider: "zoo-gateway" }]),
3798-
getProfile: vi.fn().mockResolvedValue({ zooSessionToken: "current-token" }),
3798+
getProfile: vi.fn().mockResolvedValue({
3799+
zooSessionToken: "current-token",
3800+
zooGatewayBaseUrl: "https://www.zoocode.dev/api/gateway/v1",
3801+
}),
37993802
}
38003803

38013804
await (provider as any).ensureZooGatewayProfileSeeded()
@@ -3810,13 +3813,34 @@ describe("ClineProvider - Comprehensive Edit/Delete Edge Cases", () => {
38103813

38113814
;(provider as any).providerSettingsManager = {
38123815
listConfig: vi.fn().mockResolvedValue([{ name: "Zoo Gateway", apiProvider: "zoo-gateway" }]),
3813-
getProfile: vi.fn().mockResolvedValue({ zooSessionToken: "stale-token" }),
3816+
getProfile: vi.fn().mockResolvedValue({
3817+
zooSessionToken: "stale-token",
3818+
zooGatewayBaseUrl: "https://www.zoocode.dev/api/gateway/v1",
3819+
}),
38143820
}
38153821

38163822
await (provider as any).ensureZooGatewayProfileSeeded()
38173823

38183824
expect(handleSpy).toHaveBeenCalledWith("fresh-token")
38193825
})
3826+
3827+
it("re-seeds when any zoo-gateway profile has a stale base URL", async () => {
3828+
const { getCachedZooCodeToken } = await import("../../../services/zoo-code-auth")
3829+
vi.mocked(getCachedZooCodeToken).mockReturnValue("current-token")
3830+
const handleSpy = vi.spyOn(provider, "handleZooCodeCallback").mockResolvedValue(undefined)
3831+
3832+
;(provider as any).providerSettingsManager = {
3833+
listConfig: vi.fn().mockResolvedValue([{ name: "Zoo Gateway", apiProvider: "zoo-gateway" }]),
3834+
getProfile: vi.fn().mockResolvedValue({
3835+
zooSessionToken: "current-token",
3836+
zooGatewayBaseUrl: "https://staging.zoocode.dev/api/gateway/v1",
3837+
}),
3838+
}
3839+
3840+
await (provider as any).ensureZooGatewayProfileSeeded()
3841+
3842+
expect(handleSpy).toHaveBeenCalledWith("current-token")
3843+
})
38203844
})
38213845
})
38223846
})

0 commit comments

Comments
 (0)