mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
Add test for cache-control in development
This commit is contained in:
parent
12c0c9fd40
commit
873ac5dba8
|
@ -1,6 +1,8 @@
|
|||
/* global describe, test, it, expect */
|
||||
|
||||
import cheerio from 'cheerio'
|
||||
import {BUILD_MANIFEST, REACT_LOADABLE_MANIFEST} from 'next/constants'
|
||||
import { join } from 'path'
|
||||
|
||||
export default function ({ app }, suiteName, render, fetch, appPort) {
|
||||
async function get$ (path, query) {
|
||||
|
@ -164,6 +166,44 @@ export default function ({ app }, suiteName, render, fetch, appPort) {
|
|||
// Sourcemaps are applied by react-error-overlay, so we can't check them on SSR.
|
||||
})
|
||||
|
||||
it('should set Cache-Control header', async () => {
|
||||
const buildId = 'development'
|
||||
|
||||
// build dynamic page
|
||||
await fetch('/dynamic/ssr')
|
||||
|
||||
const buildManifest = require(join('../.next', BUILD_MANIFEST))
|
||||
console.log(buildManifest)
|
||||
const reactLoadableManifest = require(join('../.next', REACT_LOADABLE_MANIFEST))
|
||||
const resources = []
|
||||
|
||||
// test a regular page
|
||||
resources.push(`/_next/static/${buildId}/pages/index.js`)
|
||||
|
||||
// test dynamic chunk
|
||||
resources.push('/_next/' + reactLoadableManifest['../../components/hello1'][0].publicPath)
|
||||
|
||||
// test main.js runtime etc
|
||||
for (const item of buildManifest.pages['/dynamic/ssr']) {
|
||||
resources.push('/_next/' + item)
|
||||
}
|
||||
|
||||
for (const item of buildManifest.devFiles) {
|
||||
resources.push('/_next/' + item)
|
||||
}
|
||||
|
||||
const responses = await Promise.all(resources.map((resource) => fetch(resource)))
|
||||
|
||||
responses.forEach((res) => {
|
||||
try {
|
||||
expect(res.headers.get('Cache-Control')).toBe('no-store, must-revalidate')
|
||||
} catch (err) {
|
||||
err.message = res.url + ' ' + err.message
|
||||
throw err
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
test('asPath', async () => {
|
||||
const $ = await get$('/nav/as-path', { aa: 10 })
|
||||
expect($('.as-path-content').text()).toBe('/nav/as-path?aa=10')
|
||||
|
|
Loading…
Reference in a new issue