81 lines
4.4 KiB
JavaScript
81 lines
4.4 KiB
JavaScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { ROUTE_INVENTORY_BUDGETS, classifyRouteModule, classifyRouteSurface, evaluateRouteInventory, scanRouteInventory } from "./verify-route-inventory.mjs";
|
|
|
|
describe("verify-route-inventory", () => {
|
|
it("classifies route files by surface and module profile", () => {
|
|
expect(classifyRouteSurface("admin/settings.tsx")).toBe("admin");
|
|
expect(classifyRouteSurface("app.$tenant/settings.tsx")).toBe("tenant");
|
|
expect(classifyRouteSurface("docs/($lang).tsx")).toBe("public_help_docs_internal");
|
|
expect(classifyRouteSurface("customer-portal/auth.tsx")).toBe("portal");
|
|
expect(classifyRouteSurface("admin/email-marketing/index.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/forms.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/hr/directory._index.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/bookings.pages.new.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/calendar._index.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/calls._index.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/calls.$id.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/settings/integrations.calendar.$id.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/settings.integrations.telephony.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/telephony.push-subscription.ts")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/chat.search.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("app.$tenant/settings/chat/audit.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("integrations.aircall.oauth.install.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("integrations.aircall.oauth.callback.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("integrations.kwp.setup.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("integrations.kwp.oauth.callback.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("webhooks.telephony.aircall.tsx")).toBe("optional");
|
|
// The avatar auth-proxy is a core delivery boundary, not a feature route.
|
|
expect(classifyRouteSurface("avatars.$userId.tsx")).toBe("public_help_docs_internal");
|
|
expect(classifyRouteSurface("api.embed.forms.$formKey.submit.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("embed.forms.$formKey.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("f.$tenant.$slug.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("b.$tenant.$slug.embed.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("sign.$token.tsx")).toBe("optional");
|
|
expect(classifyRouteSurface("e.c.$outboundEmailId.tsx")).toBe("optional");
|
|
|
|
expect(classifyRouteModule("admin/settings.tsx")).toBe("default-enabled");
|
|
expect(classifyRouteModule("docs/($lang).tsx")).toBe("public-system");
|
|
expect(classifyRouteModule("customer-portal/auth.tsx")).toBe("portal");
|
|
expect(classifyRouteModule("app.$tenant/__workflows/workflow-engine.tsx")).toBe("optional");
|
|
});
|
|
|
|
it("keeps route surface budgets explicit and hard", () => {
|
|
expect(ROUTE_INVENTORY_BUDGETS).toEqual({
|
|
admin: 159,
|
|
tenant: 184,
|
|
public_help_docs_internal: 78,
|
|
portal: 14,
|
|
optional: 136,
|
|
total: 571,
|
|
});
|
|
|
|
for (const surface of Object.keys(ROUTE_INVENTORY_BUDGETS)) {
|
|
const surfaces = Object.fromEntries(Object.entries(ROUTE_INVENTORY_BUDGETS).map(([key, value]) => [key, key === surface ? value + 1 : value]));
|
|
const results = evaluateRouteInventory({
|
|
surfaces,
|
|
classifications: { "public-system": 1, "default-enabled": 1, portal: 1, optional: 1 },
|
|
files: [],
|
|
});
|
|
expect(results.find((result) => result.surface === surface)?.pass).toBe(false);
|
|
}
|
|
});
|
|
|
|
it("matches the reviewed physical route snapshot", async () => {
|
|
const inventory = await scanRouteInventory();
|
|
|
|
expect(inventory.surfaces).toEqual(ROUTE_INVENTORY_BUDGETS);
|
|
expect(inventory.classifications).toEqual({
|
|
// +1 for BILL-13's product-acquisition return route and +1 for BILL-14's
|
|
// registration plan-advice resource.
|
|
"public-system": 78,
|
|
// +3 with the WF-P8 routes named at ROUTE_INVENTORY_BUDGETS, +1 for P4's
|
|
// link-target search resource, +1 for BILL-20's tenant-bound welcome
|
|
// and setup route.
|
|
"default-enabled": 343,
|
|
portal: 14,
|
|
optional: 136,
|
|
});
|
|
});
|
|
});
|