Nuxt/test/dev/basic.config.defaults.test.js

74 lines
2.4 KiB
JavaScript

import { normalize, resolve } from 'upath'
import consola from 'consola'
import Glob from 'glob'
import pify from 'pify'
import { Nuxt, getNuxtConfig, version } from '../utils'
const glob = pify(Glob)
describe('basic config defaults', () => {
test('Nuxt.version is same as package', () => {
expect(Nuxt.version).toBe(version)
})
test('modulesDir uses /node_modules as default if not set', () => {
const options = getNuxtConfig({})
const currentNodeModulesDir = resolve(__dirname, '..', '..', 'node_modules')
expect(options.modulesDir.map(d => normalize(d))).toContain(currentNodeModulesDir)
})
test('client source map not generated', async () => {
const mapFiles = await glob(resolve(__dirname, '..', 'fixtures/basic/.nuxt/dist/client/*.js.map'))
expect(mapFiles.length).toEqual(0)
})
test('vendor has been deprecated', () => {
const options = getNuxtConfig({
build: { vendor: 'vue' }
})
expect(options.build.vendor).toBeUndefined()
expect(consola.warn).toHaveBeenCalledWith('vendor has been deprecated due to webpack4 optimization')
})
test('globalName uses nuxt as default if not set', () => {
const options = getNuxtConfig({})
expect(options.globalName).toEqual('nuxt')
})
test('globalName uses nuxt as default if set to something other than only letters', () => {
let options = getNuxtConfig({ globalName: '12foo4' })
expect(options.globalName).toEqual('nuxt')
options = getNuxtConfig({ globalName: 'foo bar' })
expect(options.globalName).toEqual('nuxt')
options = getNuxtConfig({ globalName: 'foo?' })
expect(options.globalName).toEqual('nuxt')
})
test('@nuxtjs/babel-preset-app has been deprecated', () => {
let options = getNuxtConfig({
build: {
babel: {
presets: ['@nuxtjs/babel-preset-app']
}
}
})
expect(options.build.babel.presets).toEqual(['@nuxt/babel-preset-app'])
expect(consola.warn).toHaveBeenCalledWith('@nuxtjs/babel-preset-app has been deprecated, please use @nuxt/babel-preset-app.')
consola.warn.mockClear()
options = getNuxtConfig({
build: {
babel: {
presets: [['@nuxtjs/babel-preset-app']]
}
}
})
expect(options.build.babel.presets).toEqual([['@nuxt/babel-preset-app']])
expect(consola.warn).toHaveBeenCalledWith('@nuxtjs/babel-preset-app has been deprecated, please use @nuxt/babel-preset-app.')
})
})