Download __tests__/stores/initial-query-store.test.ts from SaylorTwift/openhands: direct link, hf CLI and curl.
- Browser
- Download file 2.46 kB
-
https://huggingface.co/SaylorTwift/openhands/resolve/main/__tests__/stores/initial-query-store.test.ts
- Command line
-
hf download hf://SaylorTwift/openhands/__tests__/stores/initial-query-store.test.ts
-
curl -L -o initial-query-store.test.ts https://huggingface.co/SaylorTwift/openhands/resolve/main/__tests__/stores/initial-query-store.test.ts
2.46 kB
| import { beforeEach, describe, expect, it } from "vitest"; | |
| import { useInitialQueryStore } from "#/stores/initial-query-store"; | |
| const emptyState = { | |
| files: [], | |
| initialPrompt: null, | |
| selectedRepository: null, | |
| selectedRepositoryProvider: null, | |
| replayJson: null, | |
| }; | |
| describe("useInitialQueryStore", () => { | |
| beforeEach(() => { | |
| useInitialQueryStore.getState().reset(); | |
| }); | |
| it("adds, removes, and clears files", () => { | |
| const store = useInitialQueryStore.getState(); | |
| store.addFile("first"); | |
| store.addFile("second"); | |
| store.addFile("third"); | |
| expect(useInitialQueryStore.getState().files).toEqual([ | |
| "first", | |
| "second", | |
| "third", | |
| ]); | |
| useInitialQueryStore.getState().removeFile(1); | |
| expect(useInitialQueryStore.getState().files).toEqual(["first", "third"]); | |
| useInitialQueryStore.getState().removeFile(99); | |
| expect(useInitialQueryStore.getState().files).toEqual(["first", "third"]); | |
| useInitialQueryStore.getState().clearFiles(); | |
| expect(useInitialQueryStore.getState().files).toEqual([]); | |
| }); | |
| it("sets and clears prompt and repository selections", () => { | |
| const repository = { | |
| id: "repository-1", | |
| full_name: "owner/repository", | |
| git_provider: "github", | |
| is_public: true, | |
| } as const; | |
| const store = useInitialQueryStore.getState(); | |
| store.setInitialPrompt("Build it"); | |
| store.setSelectedRepository(repository); | |
| store.setSelectedRepositoryProvider("github"); | |
| store.setReplayJson('{"event":"message"}'); | |
| expect(useInitialQueryStore.getState()).toMatchObject({ | |
| initialPrompt: "Build it", | |
| selectedRepository: repository, | |
| selectedRepositoryProvider: "github", | |
| replayJson: '{"event":"message"}', | |
| }); | |
| useInitialQueryStore.getState().clearInitialPrompt(); | |
| useInitialQueryStore.getState().clearSelectedRepository(); | |
| useInitialQueryStore.getState().setSelectedRepositoryProvider(null); | |
| useInitialQueryStore.getState().setReplayJson(null); | |
| expect(useInitialQueryStore.getState()).toMatchObject(emptyState); | |
| }); | |
| it("resets every field after populated state", () => { | |
| const store = useInitialQueryStore.getState(); | |
| store.addFile("image"); | |
| store.setInitialPrompt("Prompt"); | |
| store.setSelectedRepositoryProvider("gitlab"); | |
| store.setReplayJson("{}"); | |
| useInitialQueryStore.getState().reset(); | |
| expect(useInitialQueryStore.getState()).toMatchObject(emptyState); | |
| }); | |
| }); | |