06e5c9803a
* fix: allow whitelisted paths like onboarding as team/user slugs on org domains - Add whitelistedPaths array to pagesAndRewritePaths.js with 'onboarding' - Update getRegExpMatchingAllReservedRoutes to accept exclusions parameter - Modify org route patterns to exclude whitelisted paths from reserved routes - Add tests to verify onboarding can be used as a slug on org domains - Fixes issue where acme.cal.com/onboarding would 404 This allows teams/users on org domains to use 'onboarding' as their slug while still preserving the /onboarding app route on non-org domains. Co-Authored-By: hariom@cal.com <hariombalhara@gmail.com> * Remove accidental change by AI * Add special character handling test --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import { it, expect, describe } from "vitest";
|
|
|
|
import { topLevelRoutesExcludedFromOrgRewrite, topLevelRouteNamesWhitelistedForRewrite } from "../../pagesAndRewritePaths.js";
|
|
|
|
describe("pagesAndRewritePaths", () => {
|
|
describe("beforeFiles must exclude top-level routes in pages/app router", () => {
|
|
const ROUTES_EXCLUDED_FROM_ORG_REWRITE = [
|
|
"apps",
|
|
"availability",
|
|
"booking",
|
|
"connect-and-join",
|
|
"enterprise",
|
|
"error",
|
|
"getting-started",
|
|
"insights",
|
|
"maintenance",
|
|
"more",
|
|
"not-found",
|
|
"reschedule",
|
|
"settings",
|
|
"teams",
|
|
"upgrade",
|
|
"video",
|
|
"workflows",
|
|
"bookings",
|
|
"event-types",
|
|
"icons",
|
|
"org",
|
|
"payment",
|
|
"routing-forms",
|
|
"signup",
|
|
"team",
|
|
"d"
|
|
];
|
|
|
|
it("should include all required top-level route names", () => {
|
|
ROUTES_EXCLUDED_FROM_ORG_REWRITE.forEach((route) => {
|
|
expect(topLevelRoutesExcludedFromOrgRewrite).toContain(route);
|
|
});
|
|
});
|
|
|
|
it("should NOT include whitelisted routes", () => {
|
|
topLevelRouteNamesWhitelistedForRewrite.forEach((route) => {
|
|
expect(topLevelRoutesExcludedFromOrgRewrite).not.toContain(route);
|
|
});
|
|
});
|
|
});
|
|
});
|