diff --git a/dashcaddy-api/__tests__/public-routes-drift.test.js b/dashcaddy-api/__tests__/public-routes-drift.test.js index 0225927..ea085f9 100644 --- a/dashcaddy-api/__tests__/public-routes-drift.test.js +++ b/dashcaddy-api/__tests__/public-routes-drift.test.js @@ -131,6 +131,7 @@ function readMountedRoutes() { 'routes/license.js', // apiRouter.use('/license', licenseRoutes({...})) 'routes/share.js', // apiRouter.use(shareRoutes({...})) // bare mount (DC-053) 'routes/services.js', // apiRouter.use(serviceRoutes({...})) // bare mount — needed for /api/v1/services + /api/v1/services/status PUBLIC_ROUTES + 'routes/version.js', // apiRouter.use(versionRoute.buildRouter()) // bare mount — needed for /api/v1/version PUBLIC_ROUTES ]; // Prefix map: explicit prefix from src/app.js's apiRouter.use() call const prefixMap = { @@ -151,6 +152,12 @@ function readMountedRoutes() { try { factory = require(fullPath); } catch (e) { continue; } + // Support object exports that expose buildRouter() (e.g. routes/version.js + // exports { buildRouter, getVersion, getName }) — normalize to the factory + // so the walker sees the routes it actually mounts in production. + if (factory && typeof factory.buildRouter === 'function') { + factory = factory.buildRouter; + } if (typeof factory !== 'function') continue; let router; try {