Files
continue/core/tools/implementations/viewSubdirectory.vitest.ts
Patrick Erichsen ee439faa38 fix tests
2025-10-17 11:21:55 -07:00

52 lines
1.7 KiB
TypeScript

import { describe, expect, it, vi } from "vitest";
import { ContinueError, ContinueErrorReason } from "../../util/errors";
import { viewSubdirectoryImpl } from "./viewSubdirectory";
describe("viewSubdirectoryImpl", () => {
it("should throw DirectoryNotFound when resolveInputPath returns null", async () => {
const mockExtras = {
ide: {
fileExists: vi.fn().mockResolvedValue(false),
getWorkspaceDirs: vi.fn().mockResolvedValue(["file:///workspace"]),
},
llm: {},
};
// resolveInputPath will return null when path doesn't exist
await expect(
viewSubdirectoryImpl(
{ directory_path: "/non/existent/path" },
mockExtras as any,
),
).rejects.toThrow(ContinueError);
});
it("should throw DirectoryNotFound when path exists in resolveInputPath but not on filesystem", async () => {
const mockExtras = {
ide: {
fileExists: vi.fn().mockResolvedValue(false), // Path doesn't exist
getWorkspaceDirs: vi.fn().mockResolvedValue(["file:///workspace"]),
},
llm: {},
};
// This test verifies the fix - even if resolveInputPath returns a valid object,
// we still check if the path exists and throw if it doesn't
try {
await viewSubdirectoryImpl(
{ directory_path: "/some/absolute/path" },
mockExtras as any,
);
expect.fail("Should have thrown DirectoryNotFound error");
} catch (error) {
expect(error).toBeInstanceOf(ContinueError);
expect((error as ContinueError).reason).toBe(
ContinueErrorReason.DirectoryNotFound,
);
expect((error as ContinueError).message).toContain(
"does not exist or is not accessible",
);
}
});
});