Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
9.4 KiB
Plaintext
1 line
9.4 KiB
Plaintext
{"version":3,"sources":["../../src/utilities/formatAdminURL.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport { formatAdminURL } from './formatAdminURL.js'\n\ndescribe('formatAdminURL', () => {\n const serverURL = 'https://example.com'\n\n const defaultAdminRoute = '/admin'\n const rootAdminRoute = '/'\n\n const dummyPath = '/collections/posts'\n\n describe('relative URLs', () => {\n it('should ignore `serverURL` when relative=true', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: dummyPath,\n serverURL,\n relative: true,\n })\n\n expect(result).toBe(`${defaultAdminRoute}${dummyPath}`)\n })\n\n it('should force relative URL when `serverURL` is omitted', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: dummyPath,\n relative: false,\n })\n\n expect(result).toBe(`${defaultAdminRoute}${dummyPath}`)\n })\n })\n\n describe('absolute URLs', () => {\n it('should return absolute URL with serverURL', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: dummyPath,\n serverURL,\n })\n\n expect(result).toBe(\n `${serverURL}${process.env.NEXT_BASE_PATH || ''}${defaultAdminRoute}${dummyPath}`,\n )\n })\n\n it('should handle serverURL with trailing slash', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: '/collections/posts',\n serverURL: 'https://example.com/',\n })\n\n expect(result).toBe(\n `https://example.com${process.env.NEXT_BASE_PATH || ''}/admin/collections/posts`,\n )\n })\n\n it('should handle serverURL with subdirectory', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: '/collections/posts',\n serverURL: 'https://example.com/api/v1',\n })\n\n expect(result).toBe(\n `https://example.com${process.env.NEXT_BASE_PATH || ''}/admin/collections/posts`,\n )\n })\n })\n\n describe('admin route handling', () => {\n it('should return relative URL for adminRoute=\"/\", no path, no `serverURL`', () => {\n const result = formatAdminURL({\n adminRoute: rootAdminRoute,\n })\n\n expect(result).toBe('/')\n })\n\n it('should handle relative URL for adminRoute=\"/\", with path, no `serverURL`', () => {\n const result = formatAdminURL({\n adminRoute: rootAdminRoute,\n path: dummyPath,\n })\n\n expect(result).toBe(dummyPath)\n })\n\n it('should return absolute URL for adminRoute=\"/\", no path, with `serverURL`', () => {\n const result = formatAdminURL({\n adminRoute: rootAdminRoute,\n serverURL,\n })\n\n expect(result).toBe('https://example.com/')\n })\n\n it('should handle absolute URL for adminRoute=\"/\", with path and `serverURL`', () => {\n const result = formatAdminURL({\n adminRoute: rootAdminRoute,\n serverURL,\n path: dummyPath,\n })\n\n expect(result).toBe(`${serverURL}${process.env.NEXT_BASE_PATH || ''}${dummyPath}`)\n })\n })\n\n describe('base path handling', () => {\n it('should include basePath in URL', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n basePath: '/v1',\n path: dummyPath,\n serverURL,\n })\n\n expect(result).toBe(\n `${serverURL}${process.env.NEXT_BASE_PATH || ''}/v1${defaultAdminRoute}${dummyPath}`,\n )\n })\n\n it('should handle basePath with adminRoute=\"/\"', () => {\n const result = formatAdminURL({\n adminRoute: rootAdminRoute,\n basePath: '/v1',\n serverURL,\n })\n\n expect(result).toBe(`${serverURL}${process.env.NEXT_BASE_PATH || ''}/v1`)\n })\n\n it('should handle basePath with no adminRoute', () => {\n const result = formatAdminURL({\n adminRoute: undefined,\n basePath: '/v1',\n path: dummyPath,\n serverURL,\n })\n\n expect(result).toBe(`${serverURL}${process.env.NEXT_BASE_PATH || ''}/v1${dummyPath}`)\n })\n\n it('should handle empty basePath', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n basePath: '',\n path: dummyPath,\n serverURL,\n })\n\n expect(result).toBe(\n `${serverURL}${process.env.NEXT_BASE_PATH || ''}${defaultAdminRoute}${dummyPath}`,\n )\n })\n })\n\n describe('path handling', () => {\n it('should handle empty string path', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: '',\n serverURL,\n })\n\n expect(result).toBe(`${serverURL}${process.env.NEXT_BASE_PATH || ''}${defaultAdminRoute}`)\n })\n\n it('should handle null path', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: null,\n serverURL,\n })\n expect(result).toBe(`${serverURL}${process.env.NEXT_BASE_PATH || ''}${defaultAdminRoute}`)\n })\n\n it('should handle undefined path', () => {\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path: undefined,\n serverURL,\n })\n\n expect(result).toBe(`${serverURL}${process.env.NEXT_BASE_PATH || ''}${defaultAdminRoute}`)\n })\n\n it('should handle path with query parameters', () => {\n const path = `${dummyPath}?page=2`\n\n const result = formatAdminURL({\n adminRoute: defaultAdminRoute,\n path,\n serverURL,\n })\n\n expect(result).toBe(\n `${serverURL}${process.env.NEXT_BASE_PATH || ''}${defaultAdminRoute}${path}`,\n )\n })\n })\n\n describe('edge cases', () => {\n it('should return \"/\" when given minimal args', () => {\n const result = formatAdminURL({\n adminRoute: undefined,\n basePath: '',\n path: '',\n relative: true,\n })\n\n expect(result).toBe('/')\n })\n })\n})\n"],"names":["describe","it","expect","formatAdminURL","serverURL","defaultAdminRoute","rootAdminRoute","dummyPath","result","adminRoute","path","relative","toBe","process","env","NEXT_BASE_PATH","basePath","undefined"],"mappings":"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"} |