Download packages/tui/test/component/dialog-session-list.test.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.56 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/test/component/dialog-session-list.test.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/tui/test/component/dialog-session-list.test.ts
-
curl -L -o dialog-session-list.test.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/test/component/dialog-session-list.test.ts
1.56 kB
| import { describe, expect, test } from "bun:test" | |
| import { createDialogSessionListQuery, loadDialogSessionList } from "../../src/component/dialog-session-list" | |
| describe("dialog session list", () => { | |
| test("requests root sessions for the default browse list", () => { | |
| expect(createDialogSessionListQuery({ filter: { path: "packages/tui" } })).toEqual({ | |
| roots: true, | |
| limit: 100, | |
| path: "packages/tui", | |
| }) | |
| }) | |
| test("requests root sessions for search results", () => { | |
| expect(createDialogSessionListQuery({ search: " deploy ", filter: { scope: "project" } })).toEqual({ | |
| roots: true, | |
| limit: 30, | |
| search: "deploy", | |
| scope: "project", | |
| }) | |
| }) | |
| test("keeps the cache usable while the root request is pending", async () => { | |
| let resolve!: (result: { data: string[] }) => void | |
| const pending = loadDialogSessionList<string>({ | |
| filter: {}, | |
| list: () => new Promise((done) => (resolve = done)), | |
| }) | |
| expect(await Promise.race([pending, Promise.resolve("pending")])).toBe("pending") | |
| resolve({ data: ["root"] }) | |
| expect(await pending).toEqual(["root"]) | |
| }) | |
| test("falls back when the root request returns an error response", async () => { | |
| expect(await loadDialogSessionList({ filter: {}, list: async () => ({}) })).toBeUndefined() | |
| }) | |
| test("falls back when the root request rejects", async () => { | |
| expect( | |
| await loadDialogSessionList({ | |
| filter: {}, | |
| list: () => Promise.reject(new Error("offline")), | |
| }), | |
| ).toBeUndefined() | |
| }) | |
| }) | |