Files
EpicNext-Cms/src/features/housekeeping/route-handlers.test.ts
T
Simo 85ad0452d3
CI / check (pull_request) Successful in 37s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
feat(housekeeping): compose operations workspace
2026-08-30 17:23:55 +02:00

34 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { CONTENT_ROUTE_IDS } from "./domains/content/routes";
import { ECONOMY_ROUTE_IDS } from "./domains/economy/routes";
import { HOTEL_ROUTE_IDS } from "./domains/hotel/routes";
import { OPERATIONS_ROUTES } from "./domains/operations/routes";
import { PEOPLE_ROUTE_IDS } from "./domains/people/routes";
import { SYSTEM_ROUTE_IDS } from "./domains/system/routes";
import { createHousekeepingRegistry } from "./foundation/registry";
import { HOUSEKEEPING_MANIFESTS } from "./manifests";
import { HOUSEKEEPING_ROUTE_HANDLERS } from "./route-handlers";
describe("housekeeping route handlers", () => {
it("has exactly one handler for every registered route and no placeholders", () => {
const registry = createHousekeepingRegistry(HOUSEKEEPING_MANIFESTS);
const routeIds = registry.domains.flatMap((domain) =>
domain.routes.map((route) => route.id),
);
const handlerIds = HOUSEKEEPING_ROUTE_HANDLERS.map(
(handler) => handler.routeId,
);
expect(new Set(handlerIds).size).toBe(handlerIds.length);
expect([...handlerIds].sort()).toEqual([...routeIds].sort());
expect(handlerIds).toEqual([
...OPERATIONS_ROUTES.map((route) => route.id),
...PEOPLE_ROUTE_IDS,
...CONTENT_ROUTE_IDS,
...ECONOMY_ROUTE_IDS,
...HOTEL_ROUTE_IDS,
...SYSTEM_ROUTE_IDS,
]);
});
});