AkurAI Build
Menu

popagent

public

Latest 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" });
  });
});