From f20a72b4e725d4f1e75dc6af53f02681a7cffaab Mon Sep 17 00:00:00 2001 From: EagleFox31 <86088743+EagleFox31@users.noreply.github.com> Date: Mon, 12 Oct 2026 08:18:54 +0100 Subject: [PATCH] fix(payload): register editorial rubric setup button in admin import map --- src/app/(payload)/admin/importMap.js | 2 ++ tests/unit/payloadNavImportMap.spec.ts | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 tests/unit/payloadNavImportMap.spec.ts diff --git a/src/app/(payload)/admin/importMap.js b/src/app/(payload)/admin/importMap.js index e931b4b..6903f27 100644 --- a/src/app/(payload)/admin/importMap.js +++ b/src/app/(payload)/admin/importMap.js @@ -26,6 +26,7 @@ import { RowLabel as RowLabel_ec255a65fa6fa8d1faeb09cf35284224 } from '@/Header/ import { RowLabel as RowLabel_1f6ff6ff633e3695d348f4f3c58f1466 } from '@/Footer/RowLabel' import { default as default_8a7ab0eb7ab5c511aba12e68480bfe5e } from '@/components/BeforeLogin' import { NewsRadarNavLink as NewsRadarNavLink_8d91a43e5c2a4ab5 } from '@/components/NewsRadarNavLink' +import { SetupRubricsNavControl } from '@/components/SetupRubricsNavControl' import { VercelBlobClientUploadHandler as VercelBlobClientUploadHandler_16c82c5e25f430251a3e3ba57219ff4e } from '@payloadcms/storage-vercel-blob/client' import { CollectionCards as CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } from '@payloadcms/next/rsc' @@ -59,6 +60,7 @@ export const importMap = { "@/Footer/RowLabel#RowLabel": RowLabel_1f6ff6ff633e3695d348f4f3c58f1466, "@/components/BeforeLogin#default": default_8a7ab0eb7ab5c511aba12e68480bfe5e, "@/components/NewsRadarNavLink#NewsRadarNavLink": NewsRadarNavLink_8d91a43e5c2a4ab5, + "@/components/SetupRubricsNavControl#SetupRubricsNavControl": SetupRubricsNavControl, "@payloadcms/storage-vercel-blob/client#VercelBlobClientUploadHandler": VercelBlobClientUploadHandler_16c82c5e25f430251a3e3ba57219ff4e, "@payloadcms/next/rsc#CollectionCards": CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } diff --git a/tests/unit/payloadNavImportMap.spec.ts b/tests/unit/payloadNavImportMap.spec.ts new file mode 100644 index 0000000..5da8a79 --- /dev/null +++ b/tests/unit/payloadNavImportMap.spec.ts @@ -0,0 +1,22 @@ +import { readFile } from 'node:fs/promises' +import path from 'node:path' +import { describe, expect, it } from 'vitest' + +describe('Payload admin registration', () => { + it('contains an import-map entry for each registered admin navigation control', async () => { + const root = process.cwd() + const [config, map] = await Promise.all([ + readFile(path.join(root, 'src/payload.config.ts'), 'utf8'), + readFile(path.join(root, 'src/app/(payload)/admin/importMap.js'), 'utf8'), + ]) + const match = config.match(/afterNavLinks:\s*\[([^\]]+)\]/) + expect(match, 'Payload admin afterNavLinks should be configured').not.toBeNull() + const components = [...(match?.[1] || '').matchAll(/'([^']+)'/g)].map((m) => m[1]) + expect(components).toContain('@/components/SetupRubricsNavControl#SetupRubricsNavControl') + for (const component of components) { + expect(map, `Missing generated import-map entry for ${component}`).toContain( + `"${component}":`, + ) + } + }) +})