diff --git a/frontend/__tests__/initial-query.test.tsx b/frontend/__tests__/initial-query.test.tsx new file mode 100644 index 000000000000..f0e0a169dbf2 --- /dev/null +++ b/frontend/__tests__/initial-query.test.tsx @@ -0,0 +1,17 @@ +import { describe, it, expect } from "vitest"; +import store from "../src/store"; +import { setInitialQuery, clearInitialQuery } from "../src/state/initial-query-slice"; + +describe("Initial Query Behavior", () => { + it("should clear initial query when clearInitialQuery is dispatched", () => { + // Set up initial query in the store + store.dispatch(setInitialQuery("test query")); + expect(store.getState().initalQuery.initialQuery).toBe("test query"); + + // Clear the initial query + store.dispatch(clearInitialQuery()); + + // Verify initial query is cleared + expect(store.getState().initalQuery.initialQuery).toBeNull(); + }); +}); diff --git a/frontend/src/routes/_oh.app.tsx b/frontend/src/routes/_oh.app.tsx index 5d827b9150c5..731bf4cdf99b 100644 --- a/frontend/src/routes/_oh.app.tsx +++ b/frontend/src/routes/_oh.app.tsx @@ -36,6 +36,7 @@ import ListIcon from "#/assets/list-type-number.svg?react"; import { createChatMessage } from "#/services/chatService"; import { clearFiles, + clearInitialQuery, clearSelectedRepository, setImportedProjectZip, } from "#/state/initial-query-slice"; @@ -256,6 +257,7 @@ function App() { dispatch(clearMessages()); dispatch(clearTerminal()); dispatch(clearJupyter()); + dispatch(clearInitialQuery()); // Clear initial query when navigating to /app startSocketConnection(); }); diff --git a/frontend/src/state/initial-query-slice.ts b/frontend/src/state/initial-query-slice.ts index 7575363301cd..73300b50c8d0 100644 --- a/frontend/src/state/initial-query-slice.ts +++ b/frontend/src/state/initial-query-slice.ts @@ -30,6 +30,9 @@ export const selectedFilesSlice = createSlice({ setInitialQuery(state, action: PayloadAction) { state.initialQuery = action.payload; }, + clearInitialQuery(state) { + state.initialQuery = null; + }, setSelectedRepository(state, action: PayloadAction) { state.selectedRepository = action.payload; }, @@ -47,6 +50,7 @@ export const { removeFile, clearFiles, setInitialQuery, + clearInitialQuery, setSelectedRepository, clearSelectedRepository, setImportedProjectZip,