mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-30 09:27:13 +00:00
c5ca8c64f1
by not returning a promise we can expose .render method also the old way of using nuxt won't change by 1.x release
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
import test from 'ava'
|
|
import { resolve } from 'path'
|
|
const port = 4005
|
|
const url = (route) => 'http://localhost:' + port + route
|
|
|
|
let nuxt = null
|
|
let server = null
|
|
|
|
// Init nuxt.js and create server listening on localhost:4000
|
|
test.before('Init Nuxt.js', async t => {
|
|
const Nuxt = require('../')
|
|
const options = {
|
|
rootDir: resolve(__dirname, 'fixtures/error'),
|
|
dev: false
|
|
}
|
|
nuxt = new Nuxt(options)
|
|
await nuxt.build()
|
|
server = new nuxt.Server(nuxt)
|
|
server.listen(port, 'localhost')
|
|
})
|
|
|
|
test('/ should display an error', async t => {
|
|
try {
|
|
await nuxt.renderRoute('/')
|
|
} catch (e) {
|
|
t.true(e.message.includes('not_defined is not defined'))
|
|
}
|
|
})
|
|
|
|
test('/404 should display an error too', async t => {
|
|
let { error } = await nuxt.renderRoute('/404')
|
|
t.true(error.message.includes('This page could not be found.'))
|
|
})
|
|
|
|
test('/ with renderAndGetWindow()', async t => {
|
|
const err = await t.throws(nuxt.renderAndGetWindow(url('/')))
|
|
t.is(err.response.statusCode, 500)
|
|
})
|
|
|
|
// Close server and ask nuxt to stop listening to file changes
|
|
test.after('Closing server and nuxt.js', t => {
|
|
server.close()
|
|
nuxt.close()
|
|
})
|