Menu
popagent
publicLatest change ac1b32888da9db0a129d0e91ff5cb4dac22c12f0 - Add workspace documentation RAG by AkurAI Build
import { describe, expect, test } from "bun:test";
import { appRoutePath, parseAppRoute } from "./routes";
describe("browser routes", () => {
test("maps durable application URLs", () => {
expect(parseAppRoute("/")).toEqual({ page: "overview" });
expect(parseAppRoute("/settings/browser")).toEqual({ page: "settings", section: "browser" });
expect(parseAppRoute("/settings/observability")).toEqual({ page: "settings", section: "observability" });
expect(parseAppRoute("/settings")).toEqual({ page: "settings", section: "agents" });
expect(parseAppRoute("/workspaces/my%20repo")).toEqual({ page: "workspace", workspaceId: "my repo" });
expect(parseAppRoute("/workspaces/my%20repo/docs/docs/guide/start.md")).toEqual({ page: "documentation", workspaceId: "my repo", path: "docs/guide/start.md" });
expect(parseAppRoute("/chats/session-1")).toEqual({ page: "chat", sessionId: "session-1" });
});
test("generates canonical paths and safely falls back for unknown routes", () => {
expect(appRoutePath({ page: "settings", section: "browser" })).toBe("/settings/browser");
expect(appRoutePath({ page: "workspace", workspaceId: "my repo" })).toBe("/workspaces/my%20repo");
expect(appRoutePath({ page: "documentation", workspaceId: "my repo", path: "docs/index.md" })).toBe("/workspaces/my%20repo/docs/docs/index.md");
expect(parseAppRoute("/settings/unknown")).toEqual({ page: "overview" });
expect(parseAppRoute("/chats/%E0%A4%A")).toEqual({ page: "overview" });
});
});