d34ba2b0ff
Temporarily skips a failing test case on e2e deploy mode for i18n-hybrid test suite. x-ref: https://github.com/vercel/next.js/actions/runs/4520873270/jobs/7962318031
82 lines
1.9 KiB
JavaScript
82 lines
1.9 KiB
JavaScript
// @ts-check
|
|
|
|
// @ts-ignore
|
|
import { createNextDescribe } from 'e2e-utils'
|
|
import cheerio from 'cheerio'
|
|
|
|
const { i18n } = require('./next.config')
|
|
|
|
const urls = [
|
|
// Include the app page without a locale.
|
|
...(global.isNextDeploy
|
|
? []
|
|
: [
|
|
// TODO: enable for deploy mode when behavior is corrected
|
|
{
|
|
pathname: '/blog/first-post',
|
|
expected: {
|
|
pathname: '/blog/first-post',
|
|
page: '/app/blog/[slug]/page.js',
|
|
},
|
|
},
|
|
]),
|
|
|
|
// Include the app pages with locales (should not resolve).
|
|
...i18n.locales.map((locale) => ({
|
|
pathname: `/${locale}/blog/first-post`,
|
|
expected: null,
|
|
})),
|
|
|
|
// Include the pages page without a locale (should default to the default
|
|
// locale).
|
|
{
|
|
pathname: '/about',
|
|
expected: {
|
|
pathname: `/${i18n.defaultLocale}/about`,
|
|
page: '/pages/about.js',
|
|
},
|
|
},
|
|
|
|
// Include the locale prefixed urls for the pages page (should resolve).
|
|
...i18n.locales.map((locale) => ({
|
|
pathname: `/${locale}/about`,
|
|
expected: {
|
|
pathname: `/${locale}/about`,
|
|
page: '/pages/about.js',
|
|
},
|
|
})),
|
|
]
|
|
|
|
createNextDescribe(
|
|
'i18n-hybrid',
|
|
{
|
|
files: __dirname,
|
|
},
|
|
({ next }) => {
|
|
it.each(urls.filter((url) => !url.expected))(
|
|
'does not resolve $pathname',
|
|
async (url) => {
|
|
const res = await next.fetch(url.pathname, {
|
|
redirect: 'manual',
|
|
})
|
|
|
|
expect(res.status).toBe(404)
|
|
}
|
|
)
|
|
|
|
it.each(urls.filter((url) => url.expected))(
|
|
'does resolve $pathname',
|
|
async (url) => {
|
|
const res = await next.fetch(url.pathname, {
|
|
redirect: 'manual',
|
|
})
|
|
|
|
expect(res.status).toBe(200)
|
|
|
|
const $ = cheerio.load(await res.text())
|
|
const debug = JSON.parse($('#debug').text())
|
|
expect(debug).toEqual(url.expected)
|
|
}
|
|
)
|
|
}
|
|
)
|