mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-07 21:07:46 +00:00
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.
65 lines
1.7 KiB
TypeScript
Vendored
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);
|
|
}
|
|
);
|
|
});
|