fix(dashboard): ensure file/import API calls are project-scoped in tests

Update 4 test files to pass projectId="project-1" to hooks/components
and assert it flows through to the API layer:
- useFileBrowser: fetchFileList receives (taskId, path, projectId)
- useFileEditor: fetchFileContent/saveFileContent receive projectId
- FileBrowser: deleteFile/renameFile/copyFile/moveFile receive projectId
- GitHubImportModal: apiImportGitHubIssue/Pull receive projectId

All 6653 tests pass across 242 test files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-04-12 21:40:34 -07:00
parent 52329095de
commit 51e23786c0
4 changed files with 20 additions and 19 deletions

View File

@@ -66,6 +66,7 @@ const defaultProps = {
onNavigate: vi.fn(),
workspace: "test-ws",
onRefresh: vi.fn(),
projectId: "project-1",
};
function renderFileBrowser(overrides: Partial<typeof defaultProps> = {}) {
@@ -433,7 +434,7 @@ describe("FileBrowser", () => {
expect(dangerBtn).not.toBeNull();
fireEvent.click(dangerBtn!);
await waitFor(() => {
expect(mockDeleteFile).toHaveBeenCalledWith("test-ws", "readme.md");
expect(mockDeleteFile).toHaveBeenCalledWith("test-ws", "readme.md", "project-1");
expect(onRefresh).toHaveBeenCalled();
});
});
@@ -501,7 +502,7 @@ describe("FileBrowser", () => {
);
fireEvent.click(dialogRename!.closest("button")!);
await waitFor(() => {
expect(mockRenameFile).toHaveBeenCalledWith("test-ws", "readme.md", "new-readme.md");
expect(mockRenameFile).toHaveBeenCalledWith("test-ws", "readme.md", "new-readme.md", "project-1");
expect(onRefresh).toHaveBeenCalled();
});
});
@@ -543,7 +544,7 @@ describe("FileBrowser", () => {
);
fireEvent.click(dialogCopy!.closest("button")!);
await waitFor(() => {
expect(mockCopyFile).toHaveBeenCalledWith("test-ws", "readme.md", "backup/readme.md");
expect(mockCopyFile).toHaveBeenCalledWith("test-ws", "readme.md", "backup/readme.md", "project-1");
expect(onRefresh).toHaveBeenCalled();
});
});
@@ -576,7 +577,7 @@ describe("FileBrowser", () => {
);
fireEvent.click(dialogMove!.closest("button")!);
await waitFor(() => {
expect(mockMoveFile).toHaveBeenCalledWith("test-ws", "readme.md", "docs/readme.md");
expect(mockMoveFile).toHaveBeenCalledWith("test-ws", "readme.md", "docs/readme.md", "project-1");
expect(onRefresh).toHaveBeenCalled();
});
});

View File

@@ -383,7 +383,7 @@ describe("GitHubImportModal", () => {
]);
vi.mocked(apiImportGitHubIssue).mockResolvedValueOnce(mockTask);
render(<GitHubImportModal isOpen={true} onClose={onClose} onImport={onImport} tasks={[]} />);
render(<GitHubImportModal isOpen={true} onClose={onClose} onImport={onImport} tasks={[]} projectId="project-1" />);
await waitFor(() => {
expect(screen.getByText("First Issue")).toBeTruthy();
@@ -393,7 +393,7 @@ describe("GitHubImportModal", () => {
fireEvent.click(screen.getByRole("button", { name: /Import$/i }));
await waitFor(() => {
expect(apiImportGitHubIssue).toHaveBeenCalledWith("dustinbyrne", "kb", 1);
expect(apiImportGitHubIssue).toHaveBeenCalledWith("dustinbyrne", "kb", 1, "project-1");
expect(onImport).toHaveBeenCalledWith(mockTask);
expect(onClose).toHaveBeenCalled();
});
@@ -745,7 +745,7 @@ describe("GitHubImportModal", () => {
vi.mocked(apiFetchGitHubPulls).mockResolvedValueOnce(mockPulls);
vi.mocked(apiImportGitHubPull).mockResolvedValueOnce(mockPRTask);
render(<GitHubImportModal isOpen={true} onClose={onClose} onImport={onImport} tasks={[]} />);
render(<GitHubImportModal isOpen={true} onClose={onClose} onImport={onImport} tasks={[]} projectId="project-1" />);
// Switch to Pull Requests tab
fireEvent.click(screen.getByRole("tab", { name: /Pull Requests/i }));
@@ -761,7 +761,7 @@ describe("GitHubImportModal", () => {
fireEvent.click(screen.getByRole("button", { name: /Import$/i }));
await waitFor(() => {
expect(apiImportGitHubPull).toHaveBeenCalledWith("dustinbyrne", "kb", 1);
expect(apiImportGitHubPull).toHaveBeenCalledWith("dustinbyrne", "kb", 1, "project-1");
expect(onImport).toHaveBeenCalledWith(mockPRTask);
expect(onClose).toHaveBeenCalled();
});