Nuxt/test/unit/modern.test.js
Clark Du bed0714fad
feat: modern build (#4231)
* feat: modern build

* refactor: use single module import for lodash

* refactor: add credit comment for modern plugin

* feat: ssr modern build

* fix: not null check for request

* fix: not null check for request.headers

* feat: add modern argument on build command

* refactor: simpilfy filenames for modern

* refactor: use packages/webpack src instead of dist in test

* test: add feature test for modern build
2018-10-31 15:52:35 +00:00

40 lines
1.3 KiB
JavaScript

import { loadFixture, getPort, Nuxt, rp } from '../utils'
let nuxt, port
const url = route => 'http://localhost:' + port + route
describe('modern build', () => {
beforeAll(async () => {
const options = await loadFixture('modern')
nuxt = new Nuxt(options)
port = await getPort()
await nuxt.server.listen(port, 'localhost')
})
test('should use legacy resources by default', async () => {
const response = await rp(url('/'))
expect(response).toContain('/_nuxt/app.js')
expect(response).toContain('/_nuxt/commons.app.js')
})
test('should use modern resources for modern resources', async () => {
const response = await rp(url('/'), {
headers: {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
}
})
expect(response).toContain('/_nuxt/modern-app.js')
expect(response).toContain('/_nuxt/modern-commons.app.js')
})
test('should include es6 syntax in modern resources', async () => {
const response = await rp(url('/_nuxt/modern-app.js'))
expect(response).toContain('arrow:()=>"build test"')
})
test('should not include es6 syntax in normal resources', async () => {
const response = await rp(url('/_nuxt/app.js'))
expect(response).not.toContain('arrow:()=>"build test"')
})
})