From 3b49034bcfd4710fe8d40abd7a72011ecfbbcad2 Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Mon, 13 Dec 2021 11:08:43 +0100 Subject: [PATCH] add test --- .../dynamic-routing/test/index.test.js | 53 +++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/test/integration/dynamic-routing/test/index.test.js b/test/integration/dynamic-routing/test/index.test.js index 7be7e6b00a46206..cc97e9a6b6b9013 100644 --- a/test/integration/dynamic-routing/test/index.test.js +++ b/test/integration/dynamic-routing/test/index.test.js @@ -27,7 +27,7 @@ let buildId const appDir = join(__dirname, '../') const buildIdPath = join(appDir, '.next/BUILD_ID') -function runTests(dev) { +function runTests({ dev, serverless }) { if (dev) { it('should not have error after pinging WebSocket', async () => { const browser = await webdriver(appPort, '/') @@ -1256,6 +1256,14 @@ function runTests(dev) { helloworld: 'hello-world', }, }, + { + namedRegex: '^/index/(?.+?)(?:/)?$', + page: '/index/[...slug]', + regex: normalizeRegEx('^/index/(.+?)(?:/)?$'), + routeKeys: { + slug: 'slug', + }, + }, { namedRegex: `^/on\\-mount/(?[^/]+?)(?:/)?$`, page: '/on-mount/[post]', @@ -1338,6 +1346,43 @@ function runTests(dev) { ], }) }) + + if (!serverless) { + it('should output a pages-manifest correctly', async () => { + const manifest = await fs.readJson( + join(appDir, '.next/server/pages-manifest.json') + ) + + expect(manifest).toEqual({ + '/[name]/[comment]': 'pages/[name]/[comment].js', + '/[name]/comments': 'pages/[name]/comments.js', + '/[name]': 'pages/[name].js', + '/[name]/on-mount-redir': 'pages/[name]/on-mount-redir.html', + '/another': 'pages/another.html', + '/b/[123]': 'pages/b/[123].js', + '/blog/[name]/comment/[id]': 'pages/blog/[name]/comment/[id].js', + '/c/[alongparamnameshouldbeallowedeventhoughweird]': + 'pages/c/[alongparamnameshouldbeallowedeventhoughweird].js', + '/catchall-dash/[...hello-world]': + 'pages/catchall-dash/[...hello-world].html', + '/d/[id]': 'pages/d/[id].html', + '/dash/[hello-world]': 'pages/dash/[hello-world].html', + '/': 'pages/index.html', + '/index/[...slug]': 'pages/index/[...slug].html', + '/on-mount/[post]': 'pages/on-mount/[post].html', + '/p1/p2/all-ssg/[...rest]': 'pages/p1/p2/all-ssg/[...rest].js', + '/p1/p2/all-ssr/[...rest]': 'pages/p1/p2/all-ssr/[...rest].js', + '/p1/p2/nested-all-ssg/[...rest]': + 'pages/p1/p2/nested-all-ssg/[...rest].js', + '/p1/p2/predefined-ssg/[...rest]': + 'pages/p1/p2/predefined-ssg/[...rest].js', + '/_app': 'pages/_app.js', + '/_error': 'pages/_error.js', + '/_document': 'pages/_document.js', + '/404': 'pages/404.html', + }) + }) + } } } @@ -1354,7 +1399,7 @@ describe('Dynamic Routing', () => { }) afterAll(() => killApp(app)) - runTests(true) + runTests({ dev: true, serverless: false }) }) describe('production mode', () => { @@ -1369,7 +1414,7 @@ describe('Dynamic Routing', () => { }) afterAll(() => killApp(app)) - runTests() + runTests({ dev: false, serverless: false }) }) describe('serverless mode', () => { @@ -1389,6 +1434,6 @@ describe('Dynamic Routing', () => { await killApp(app) await fs.remove(nextConfig) }) - runTests() + runTests({ dev: false, serverless: true }) }) })