fabro/apps/fabro-web/app/router.test.tsx
Bryan Helmkamp f4bae6e9bc refactor(setup): remove browser-based GitHub app bootstrap
Make fabro install the only supported GitHub App setup path. This removes
HTTP endpoints and browser routes that mutated local server config, rewrites
/setup as an operator instructions page, and aligns the installer manifest
with the live GitHub OAuth callback and setup URLs.
2026-04-13 18:25:29 -04:00

35 lines
1.1 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import type { RouteObject } from "react-router";
import { routes } from "./router";
function collectPaths(routeObjects: RouteObject[], prefix = ""): string[] {
return routeObjects.flatMap((route) => {
const path = route.index
? prefix || "/"
: route.path
? route.path.startsWith("/")
? route.path
: `${prefix}/${route.path}`.replace(/\/+/g, "/")
: prefix;
const childPaths = route.children ? collectPaths(route.children, path) : [];
return route.path || route.index ? [path, ...childPaths] : childPaths;
});
}
describe("browser router", () => {
test("uses /login for the sign-in page instead of the backend auth namespace", () => {
const paths = collectPaths(routes);
expect(paths).toContain("/login");
expect(paths).not.toContain("/auth/login");
});
test("exposes /setup but not the removed /setup/complete route", () => {
const paths = collectPaths(routes);
expect(paths).toContain("/setup");
expect(paths).not.toContain("/setup/complete");
});
});