Files
edgeever/apps/web/src/hooks/useWorkspaceRoute.test.mjs
T
tianma-if e440da9b2f feat(ai): add editable prompt library shared with the assistant
Ship a workspace prompt library with seeded defaults, restore-missing
defaults, and a /ai-prompts management page. The AI assistant now uses
the same prompt text as the library, while keeping freeform custom
instructions and a compact one-row action UI. Also prevent local
wrangler migration rewrites from stripping unauthenticated local access.
2026-08-12 14:57:51 +08:00

27 lines
1.1 KiB
JavaScript

import { describe, expect, test } from "bun:test";
import { resolveWorkspaceRoute } from "./useWorkspaceRoute.ts";
describe("workspace route resolution", () => {
test("recognizes the workspace destinations", () => {
expect(resolveWorkspaceRoute("/", "")).toMatchObject({
isTrash: false,
isSettings: false,
isTemplates: false,
isAiPrompts: false,
});
expect(resolveWorkspaceRoute("/", "?view=trash").isTrash).toBe(true);
expect(resolveWorkspaceRoute("/settings", "").isSettings).toBe(true);
expect(resolveWorkspaceRoute("/templates", "").isTemplates).toBe(true);
expect(resolveWorkspaceRoute("/ai-prompts", "").isAiPrompts).toBe(true);
});
test("only treats the canonical trash query as trash", () => {
expect(resolveWorkspaceRoute("/", "?view=trash&extra=1").isTrash).toBe(false);
expect(resolveWorkspaceRoute("/other", "?view=trash").isTrash).toBe(false);
});
test("extracts a standalone mobile editor return id", () => {
expect(resolveWorkspaceRoute("/", "?mobileEditorReturn=memo-42").mobileEditorReturnMemoId).toBe("memo-42");
});
});