Skip to content

Commit ae1fc41

Browse files
committed
Fixed test error
1 parent f477ed8 commit ae1fc41

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

webview-ui/src/components/history/__tests__/useTaskSearch.spec.tsx

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,20 @@ const mockTaskHistory: HistoryItem[] = [
5252
]
5353

5454
describe("useTaskSearch", () => {
55+
let showAllWorkspacesTasks = false
56+
const setShowAllWorkspacesTasks = vi.fn().mockImplementation((value) => {
57+
showAllWorkspacesTasks = value
58+
})
59+
5560
beforeEach(() => {
5661
vi.clearAllMocks()
57-
mockUseExtensionState.mockReturnValue({
62+
showAllWorkspacesTasks = false
63+
mockUseExtensionState.mockImplementation(() => ({
5864
taskHistory: mockTaskHistory,
5965
cwd: "/workspace/project1",
60-
showAllWorkspacesTasks: false,
61-
setShowAllWorkspacesTasks: vi.fn(),
62-
} as any)
66+
showAllWorkspacesTasks,
67+
setShowAllWorkspacesTasks,
68+
}))
6369
})
6470

6571
it("returns all tasks by default", () => {
@@ -78,22 +84,24 @@ describe("useTaskSearch", () => {
7884
})
7985

8086
it("shows all workspaces when showAllWorkspacesTasks is true", () => {
81-
const { result } = renderHook(() => useTaskSearch())
87+
const { result, rerender } = renderHook(() => useTaskSearch())
8288

8389
act(() => {
8490
result.current.setShowAllWorkspacesTasks(true)
8591
})
92+
rerender()
8693

8794
expect(result.current.tasks).toHaveLength(3)
8895
expect(result.current.showAllWorkspacesTasks).toBe(true)
8996
})
9097

9198
it("sorts by newest by default", () => {
92-
const { result } = renderHook(() => useTaskSearch())
99+
const { result, rerender } = renderHook(() => useTaskSearch())
93100

94101
act(() => {
95102
result.current.setShowAllWorkspacesTasks(true)
96103
})
104+
rerender()
97105

98106
expect(result.current.sortOption).toBe("newest")
99107
expect(result.current.tasks[0].id).toBe("task-2") // Feb 17
@@ -102,38 +110,41 @@ describe("useTaskSearch", () => {
102110
})
103111

104112
it("sorts by oldest", () => {
105-
const { result } = renderHook(() => useTaskSearch())
113+
const { result, rerender } = renderHook(() => useTaskSearch())
106114

107115
act(() => {
108116
result.current.setShowAllWorkspacesTasks(true)
109117
result.current.setSortOption("oldest")
110118
})
119+
rerender()
111120

112121
expect(result.current.tasks[0].id).toBe("task-3") // Feb 15
113122
expect(result.current.tasks[1].id).toBe("task-1") // Feb 16
114123
expect(result.current.tasks[2].id).toBe("task-2") // Feb 17
115124
})
116125

117126
it("sorts by most expensive", () => {
118-
const { result } = renderHook(() => useTaskSearch())
127+
const { result, rerender } = renderHook(() => useTaskSearch())
119128

120129
act(() => {
121130
result.current.setShowAllWorkspacesTasks(true)
122131
result.current.setSortOption("mostExpensive")
123132
})
133+
rerender()
124134

125135
expect(result.current.tasks[0].id).toBe("task-3") // $0.05
126136
expect(result.current.tasks[1].id).toBe("task-2") // $0.02
127137
expect(result.current.tasks[2].id).toBe("task-1") // $0.01
128138
})
129139

130140
it("sorts by most tokens", () => {
131-
const { result } = renderHook(() => useTaskSearch())
141+
const { result, rerender } = renderHook(() => useTaskSearch())
132142

133143
act(() => {
134144
result.current.setShowAllWorkspacesTasks(true)
135145
result.current.setSortOption("mostTokens")
136146
})
147+
rerender()
137148

138149
// task-2: 200 + 100 + 25 + 10 = 335 tokens
139150
// task-3: 150 + 75 = 225 tokens
@@ -246,16 +257,19 @@ describe("useTaskSearch", () => {
246257
},
247258
] as HistoryItem[]
248259

249-
mockUseExtensionState.mockReturnValue({
260+
mockUseExtensionState.mockImplementation(() => ({
250261
taskHistory: incompleteTaskHistory,
251262
cwd: "/workspace/project1",
252-
} as any)
263+
showAllWorkspacesTasks,
264+
setShowAllWorkspacesTasks,
265+
}))
253266

254-
const { result } = renderHook(() => useTaskSearch())
267+
const { result, rerender } = renderHook(() => useTaskSearch())
255268

256269
act(() => {
257270
result.current.setShowAllWorkspacesTasks(true)
258271
})
272+
rerender()
259273

260274
// Should only include tasks with both ts and task content
261275
expect(result.current.tasks).toHaveLength(3)

0 commit comments

Comments
 (0)