Files
paseo/packages/app/src/hooks/providers-snapshot-query.test.ts
T
Mohamed BoudraandGitHub c3515d74b9 Fix Windows workspace provider loading (#1329)
* test: cover Windows provider snapshot cwd updates

* fix: normalize Windows provider snapshot paths

* fix: preserve Claude history path candidates

* fix: match Claude project paths on Windows
2026-06-05 02:29:34 +08:00

52 lines
1.8 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
isProvidersSnapshotHomeScope,
normalizeProvidersSnapshotCwd,
providersSnapshotQueryKey,
providersSnapshotQueryRoot,
providersSnapshotRequestOptions,
} from "./providers-snapshot-query";
describe("providers snapshot query scope", () => {
it("normalizes blank cwd values to the home scope", () => {
expect(normalizeProvidersSnapshotCwd(undefined)).toBeNull();
expect(normalizeProvidersSnapshotCwd(null)).toBeNull();
expect(normalizeProvidersSnapshotCwd(" ")).toBeNull();
expect(isProvidersSnapshotHomeScope("")).toBe(true);
});
it("keeps home and workspace query keys separate under one server root", () => {
expect(providersSnapshotQueryRoot("server-1")).toEqual(["providersSnapshot", "server-1"]);
expect(providersSnapshotQueryKey("server-1")).toEqual([
"providersSnapshot",
"server-1",
"home",
]);
expect(providersSnapshotQueryKey("server-1", "/repo-a")).toEqual([
"providersSnapshot",
"server-1",
"cwd",
"/repo-a",
]);
});
it("builds request options with cwd only for workspace scopes", () => {
expect(providersSnapshotRequestOptions({ cwd: null, providers: ["codex"] })).toEqual({
providers: ["codex"],
});
expect(providersSnapshotRequestOptions({ cwd: "/repo-a", providers: ["codex"] })).toEqual({
cwd: "/repo-a",
providers: ["codex"],
});
});
it("uses one query scope for Windows cwd values with either separator", () => {
expect(normalizeProvidersSnapshotCwd("C:\\Users\\Ezekiel Bulver\\project")).toBe(
"C:/Users/Ezekiel Bulver/project",
);
expect(providersSnapshotQueryKey("server-1", "C:\\Users\\Ezekiel Bulver\\project")).toEqual(
providersSnapshotQueryKey("server-1", "C:/Users/Ezekiel Bulver/project"),
);
});
});