Files
calendar/apps/web/test/lib/pagesAndRewritePaths.test.ts
T
Hariom BalharaGitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
06e5c9803a fix: allow whitelisted paths like onboarding as team/user slugs on org domains (#24984)
* 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>
2025-11-14 15:10:59 +09:00

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