Files
vercel/packages/gatsby-plugin-vercel-builder/test/unit.get-page-name.test.ts
Nathan Rajlich efd3cc05dc [gatsby-plugin-vercel-builder] Fix nested SSR routes (#10751)
Fixes SSR / DSG pages that are nested deeper than the root path for Gatsby projects.

Also introduces unit tests for the logic related to determining which page name to use.
2023-10-24 20:15:46 +00:00

65 lines
1.7 KiB
TypeScript
Vendored

import { getPageName } from '../templates/utils';
describe('getPageName()', () => {
it.each([
{
input: '/page-data/index/page-data.json',
pageName: '/',
isPageData: true,
},
{
input: '/page-data/using-ssr/page-data.json',
pageName: 'using-ssr',
isPageData: true,
},
{ input: '/', pageName: '/', isPageData: false },
{ input: '/index.html', pageName: '/', isPageData: false },
{ input: '/using-ssr', pageName: 'using-ssr', isPageData: false },
{ input: '/using-ssr/', pageName: 'using-ssr', isPageData: false },
{
input: '/using-ssr/index.html',
pageName: 'using-ssr',
isPageData: false,
},
{ input: '/foo/bar/ssr', pageName: 'foo/bar/ssr', isPageData: false },
{
input: '/page-data/foo/bar/ssr/page-data.json',
pageName: 'foo/bar/ssr',
isPageData: true,
},
{ input: '/foo/', pathPrefix: '/foo', pageName: '/', isPageData: false },
{
input: '/foo/index.html',
pathPrefix: '/foo',
pageName: '/',
isPageData: false,
},
{
input: '/foo/bar/ssr',
pathPrefix: '/foo/',
pageName: 'bar/ssr',
isPageData: false,
},
{
input: '/foo/page-data/index/page-data.json',
pathPrefix: '/foo',
pageName: '/',
isPageData: true,
},
{
input: '/foo/page-data/bar/ssr/page-data.json',
pathPrefix: '/foo',
pageName: 'bar/ssr',
isPageData: true,
},
])(
'Should return "$pageName" for "$input"',
({ input, pathPrefix, pageName, isPageData }) => {
const actual = getPageName(input, pathPrefix);
expect(actual.pathName).toEqual(pageName);
expect(actual.isPageData).toEqual(isPageData);
}
);
});