Skip to content

Commit 1bd964b

Browse files
committed
refactor: reuse webview test query client helper
1 parent 38d7e23 commit 1bd964b

3 files changed

Lines changed: 18 additions & 28 deletions

File tree

webview-ui/src/__tests__/ContextWindowProgress.spec.tsx

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// npm run test ContextWindowProgress.spec.tsx
22

33
import { render, screen, fireEvent } from "@/utils/test-utils"
4-
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
54

65
import TaskHeader from "@src/components/chat/TaskHeader"
76

@@ -42,8 +41,6 @@ vi.mock("@src/components/ui/hooks/useSelectedModel", () => ({
4241
}))
4342

4443
describe("ContextWindowProgress", () => {
45-
const queryClient = new QueryClient()
46-
4744
// Helper function to render just the ContextWindowProgress part through TaskHeader
4845
const renderComponent = (props: Record<string, any>) => {
4946
// Create a simple mock of the task that avoids importing the actual types
@@ -58,11 +55,7 @@ describe("ContextWindowProgress", () => {
5855
handleCondenseContext: vi.fn((_taskId: string) => {}),
5956
}
6057

61-
return render(
62-
<QueryClientProvider client={queryClient}>
63-
<TaskHeader {...defaultProps} {...props} />
64-
</QueryClientProvider>,
65-
)
58+
return render(<TaskHeader {...defaultProps} {...props} />)
6659
}
6760

6861
beforeEach(() => vi.clearAllMocks())

webview-ui/src/components/chat/__tests__/ChatRow.subtask-links.spec.tsx

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React from "react"
22
import { render, screen, fireEvent } from "@/utils/test-utils"
3-
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
43
import { ChatRowContent } from "../ChatRow"
54
import type { HistoryItem, ClineMessage } from "@roo-code/types"
65

@@ -50,26 +49,22 @@ vi.mock("@src/components/ui/hooks/useSelectedModel", () => ({
5049
useSelectedModel: () => ({ info: { supportsImages: true } }),
5150
}))
5251

53-
const queryClient = new QueryClient()
54-
5552
function renderChatRow(message: any, currentTaskItem?: Partial<HistoryItem>, clineMessages?: ClineMessage[]) {
5653
mockCurrentTaskItem = currentTaskItem
5754
mockClineMessages = clineMessages || [message]
5855

5956
return render(
60-
<QueryClientProvider client={queryClient}>
61-
<ChatRowContent
62-
message={message}
63-
isExpanded={false}
64-
isLast={false}
65-
isStreaming={false}
66-
onToggleExpand={() => {}}
67-
onSuggestionClick={() => {}}
68-
onBatchFileResponse={() => {}}
69-
onFollowUpUnmount={() => {}}
70-
isFollowUpAnswered={false}
71-
/>
72-
</QueryClientProvider>,
57+
<ChatRowContent
58+
message={message}
59+
isExpanded={false}
60+
isLast={false}
61+
isStreaming={false}
62+
onToggleExpand={() => {}}
63+
onSuggestionClick={() => {}}
64+
onBatchFileResponse={() => {}}
65+
onFollowUpUnmount={() => {}}
66+
isFollowUpAnswered={false}
67+
/>,
7368
)
7469
}
7570

webview-ui/src/utils/test-utils.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,18 @@ interface AllTheProvidersProps {
99
children: React.ReactNode
1010
}
1111

12-
const AllTheProviders = ({ children }: AllTheProvidersProps) => {
13-
// Create a new QueryClient for each test to avoid state leakage
14-
const queryClient = new QueryClient({
12+
export const createTestQueryClient = () =>
13+
new QueryClient({
1514
defaultOptions: {
1615
queries: {
17-
retry: false, // Disable retries in tests
16+
retry: false,
1817
},
1918
},
2019
})
2120

21+
const AllTheProviders = ({ children }: AllTheProvidersProps) => {
22+
const queryClient = createTestQueryClient()
23+
2224
return (
2325
<QueryClientProvider client={queryClient}>
2426
<TooltipProvider delayDuration={STANDARD_TOOLTIP_DELAY}>{children}</TooltipProvider>

0 commit comments

Comments
 (0)