mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-24 22:55:13 +00:00
52 lines
1.9 KiB
JavaScript
52 lines
1.9 KiB
JavaScript
import { getPort, loadFixture, Nuxt } from '../utils'
|
|
|
|
let port
|
|
const url = route => 'http://127.0.0.1:' + port + route
|
|
|
|
let nuxt = null
|
|
|
|
describe('plugins', () => {
|
|
beforeAll(async () => {
|
|
const config = await loadFixture('basic')
|
|
nuxt = new Nuxt(config)
|
|
await nuxt.ready()
|
|
|
|
port = await getPort()
|
|
await nuxt.server.listen(port, '127.0.0.1')
|
|
})
|
|
|
|
test('/', async () => {
|
|
const window = await nuxt.server.renderAndGetWindow(url('/'))
|
|
expect(window.__test_plugin).toBe(true)
|
|
})
|
|
|
|
test('inject fails if value is undefined', async () => {
|
|
// inject('injectedProperty', undefined)
|
|
await expect(nuxt.renderRoute('/?injectValue=undefined')).rejects.toThrowError('inject(\'injectedProperty\', value) has no value provided')
|
|
})
|
|
|
|
test('inject succeeds if value is defined but evaluates to false', async () => {
|
|
// inject('injectedProperty', null)
|
|
await expect(nuxt.renderRoute('/?injectValue=null')).resolves.not.toThrowError()
|
|
// inject('injectedProperty', false)
|
|
await expect(nuxt.renderRoute('/?injectValue=false')).resolves.not.toThrowError()
|
|
// inject('injectedProperty', 0)
|
|
await expect(nuxt.renderRoute('/?injectValue=0')).resolves.not.toThrowError()
|
|
// inject('injectedProperty', '')
|
|
await expect(nuxt.renderRoute('/?injectValue=empty')).resolves.not.toThrowError()
|
|
})
|
|
test('inject should add to context and prototypes', async () => {
|
|
const window = await nuxt.server.renderAndGetWindow(url('/?injectValue=foo'))
|
|
// inject('injectedProperty', 'bar')
|
|
await expect(window.$nuxt.$injectedProperty).toBe('bar')
|
|
await expect(window.$nuxt.context.$injectedProperty).toBe('bar')
|
|
await expect(window.$nuxt.context.app.$injectedProperty).toBe('bar')
|
|
await expect(window.$nuxt.$store.$injectedProperty).toBe('bar')
|
|
})
|
|
|
|
// Close server and ask nuxt to stop listening to file changes
|
|
afterAll(async () => {
|
|
await nuxt.close()
|
|
})
|
|
})
|