diff --git a/package.json b/package.json
index 08e7554ffa..6f892be923 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
"scripts": {
"test": "nyc ava test/",
"coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
- "lint": "eslint --ext .js,.vue bin lib pages test --ignore-pattern lib/app",
+ "lint": "eslint --ext .js,.vue bin lib pages test/*.js --ignore-pattern lib/app",
"build": "webpack",
"watch": "webpack --watch",
"precommit": "npm run lint",
diff --git a/test/basic.generate.test.js b/test/basic.generate.test.js
new file mode 100644
index 0000000000..1c492ef87e
--- /dev/null
+++ b/test/basic.generate.test.js
@@ -0,0 +1,23 @@
+import test from 'ava'
+import { resolve } from 'path'
+import pify from 'pify'
+import fs from 'fs'
+const readFile = pify(fs.readFile)
+
+let nuxt = 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/basic'),
+ dev: false
+ }
+ nuxt = new Nuxt(options)
+ await nuxt.generate()
+})
+
+test('/stateless', async t => {
+ const html = await readFile(resolve(__dirname, 'fixtures/basic/dist/stateless/index.html'), 'utf8')
+ t.true(html.includes('
My component!
'))
+})
diff --git a/test/basic.test.js b/test/basic.test.js
index 749dfff6b8..5d5b28a00b 100755
--- a/test/basic.test.js
+++ b/test/basic.test.js
@@ -7,18 +7,16 @@ let nuxt = null
let server = null
// Init nuxt.js and create server listening on localhost:4000
-test.before('Init Nuxt.js', t => {
+test.before('Init Nuxt.js', async t => {
const Nuxt = require('../')
const options = {
- rootDir: resolve(__dirname, 'basic'),
+ rootDir: resolve(__dirname, 'fixtures/basic'),
dev: false
}
nuxt = new Nuxt(options)
- return nuxt.build()
- .then(function () {
- server = new nuxt.Server(nuxt)
- server.listen(port, 'localhost')
- })
+ await nuxt.build()
+ server = new nuxt.Server(nuxt)
+ server.listen(port, 'localhost')
})
test('/stateless', async t => {
diff --git a/test/children.test.js b/test/children.test.js
index af7fdf9ec9..776148cdc1 100644
--- a/test/children.test.js
+++ b/test/children.test.js
@@ -7,18 +7,16 @@ let nuxt = null
let server = null
// Init nuxt.js and create server listening on localhost:4000
-test.before('Init Nuxt.js', t => {
+test.before('Init Nuxt.js', async t => {
const Nuxt = require('../')
const options = {
- rootDir: resolve(__dirname, 'children'),
+ rootDir: resolve(__dirname, 'fixtures/children'),
dev: false
}
nuxt = new Nuxt(options)
- return nuxt.build()
- .then(function () {
- server = new nuxt.Server(nuxt)
- server.listen(port, 'localhost')
- })
+ await nuxt.build()
+ server = new nuxt.Server(nuxt)
+ server.listen(port, 'localhost')
})
test('/parent', async t => {
diff --git a/test/error.test.js b/test/error.test.js
index b227ccd197..8ae6e025a4 100644
--- a/test/error.test.js
+++ b/test/error.test.js
@@ -7,18 +7,16 @@ let nuxt = null
let server = null
// Init nuxt.js and create server listening on localhost:4000
-test.before('Init Nuxt.js', t => {
+test.before('Init Nuxt.js', async t => {
const Nuxt = require('../')
const options = {
- rootDir: resolve(__dirname, 'error'),
+ rootDir: resolve(__dirname, 'fixtures/error'),
dev: false
}
nuxt = new Nuxt(options)
- return nuxt.build()
- .then(function () {
- server = new nuxt.Server(nuxt)
- server.listen(port, 'localhost')
- })
+ await nuxt.build()
+ server = new nuxt.Server(nuxt)
+ server.listen(port, 'localhost')
})
test('/ should display an error', async t => {
diff --git a/test/basic/pages/async-data.vue b/test/fixtures/basic/pages/async-data.vue
similarity index 100%
rename from test/basic/pages/async-data.vue
rename to test/fixtures/basic/pages/async-data.vue
diff --git a/test/basic/pages/css.vue b/test/fixtures/basic/pages/css.vue
similarity index 100%
rename from test/basic/pages/css.vue
rename to test/fixtures/basic/pages/css.vue
diff --git a/test/basic/pages/error.vue b/test/fixtures/basic/pages/error.vue
similarity index 100%
rename from test/basic/pages/error.vue
rename to test/fixtures/basic/pages/error.vue
diff --git a/test/basic/pages/head.vue b/test/fixtures/basic/pages/head.vue
similarity index 100%
rename from test/basic/pages/head.vue
rename to test/fixtures/basic/pages/head.vue
diff --git a/test/basic/pages/index.vue b/test/fixtures/basic/pages/index.vue
similarity index 100%
rename from test/basic/pages/index.vue
rename to test/fixtures/basic/pages/index.vue
diff --git a/test/basic/pages/redirect.vue b/test/fixtures/basic/pages/redirect.vue
similarity index 100%
rename from test/basic/pages/redirect.vue
rename to test/fixtures/basic/pages/redirect.vue
diff --git a/test/basic/pages/stateful.vue b/test/fixtures/basic/pages/stateful.vue
similarity index 100%
rename from test/basic/pages/stateful.vue
rename to test/fixtures/basic/pages/stateful.vue
diff --git a/test/basic/pages/stateless.vue b/test/fixtures/basic/pages/stateless.vue
similarity index 100%
rename from test/basic/pages/stateless.vue
rename to test/fixtures/basic/pages/stateless.vue
diff --git a/test/basic/pages/validate.vue b/test/fixtures/basic/pages/validate.vue
similarity index 100%
rename from test/basic/pages/validate.vue
rename to test/fixtures/basic/pages/validate.vue
diff --git a/test/children/pages/parent.vue b/test/fixtures/children/pages/parent.vue
similarity index 100%
rename from test/children/pages/parent.vue
rename to test/fixtures/children/pages/parent.vue
diff --git a/test/children/pages/parent/_id.vue b/test/fixtures/children/pages/parent/_id.vue
similarity index 100%
rename from test/children/pages/parent/_id.vue
rename to test/fixtures/children/pages/parent/_id.vue
diff --git a/test/children/pages/parent/child.vue b/test/fixtures/children/pages/parent/child.vue
similarity index 100%
rename from test/children/pages/parent/child.vue
rename to test/fixtures/children/pages/parent/child.vue
diff --git a/test/children/pages/parent/validate-child.vue b/test/fixtures/children/pages/parent/validate-child.vue
similarity index 100%
rename from test/children/pages/parent/validate-child.vue
rename to test/fixtures/children/pages/parent/validate-child.vue
diff --git a/test/empty/pages/.gitkeep b/test/fixtures/empty/pages/.gitkeep
similarity index 100%
rename from test/empty/pages/.gitkeep
rename to test/fixtures/empty/pages/.gitkeep
diff --git a/test/error/pages/index.vue b/test/fixtures/error/pages/index.vue
similarity index 100%
rename from test/error/pages/index.vue
rename to test/fixtures/error/pages/index.vue
diff --git a/test/index.test.js b/test/index.test.js
index 5677919ca4..95c62c316d 100644
--- a/test/index.test.js
+++ b/test/index.test.js
@@ -15,10 +15,10 @@ test('Nuxt.js Instance', t => {
t.is(typeof nuxt.generate, 'function')
})
-test('Fail when build not done and try to render', async t => {
+test.serial('Fail when build not done and try to render', t => {
const nuxt = new Nuxt({
dev: false,
- rootDir: resolve(__dirname, 'empty')
+ rootDir: resolve(__dirname, 'fixtures/empty')
})
return new Promise((resolve) => {
var oldExit = process.exit
@@ -36,40 +36,44 @@ test('Fail when build not done and try to render', async t => {
})
})
-test('Fail to build when no pages/ directory but is in the parent', async t => {
+test.serial('Fail to build when no pages/ directory but is in the parent', t => {
const nuxt = new Nuxt({
dev: false,
rootDir: resolve(__dirname, 'empty', 'pages')
})
- var oldExit = process.exit
- var oldCE = console.error // eslint-disable-line no-console
- var _log = ''
- console.error = (s) => { _log += s } // eslint-disable-line no-console
- process.exit = (code) => {
- process.exit = oldExit
- console.error = oldCE // eslint-disable-line no-console
- t.is(code, 1)
- t.true(_log.includes('No `pages` directory found. Did you mean to run `nuxt` in the parent (`../`) directory?'))
- resolve()
- }
- nuxt.build()
+ return new Promise((resolve) => {
+ var oldExit = process.exit
+ var oldCE = console.error // eslint-disable-line no-console
+ var _log = ''
+ console.error = (s) => { _log += s } // eslint-disable-line no-console
+ process.exit = (code) => {
+ process.exit = oldExit
+ console.error = oldCE // eslint-disable-line no-console
+ t.is(code, 1)
+ t.true(_log.includes('No `pages` directory found. Did you mean to run `nuxt` in the parent (`../`) directory?'))
+ resolve()
+ }
+ nuxt.build()
+ })
})
-test('Fail to build when no pages/ directory', async t => {
+test.serial('Fail to build when no pages/ directory', t => {
const nuxt = new Nuxt({
dev: false,
rootDir: resolve(__dirname)
})
- var oldExit = process.exit
- var oldCE = console.error // eslint-disable-line no-console
- var _log = ''
- console.error = (s) => { _log += s } // eslint-disable-line no-console
- process.exit = (code) => {
- process.exit = oldExit
- console.error = oldCE // eslint-disable-line no-console
- t.is(code, 1)
- t.true(_log.includes('Couldn\'t find a `pages` directory. Please create one under the project root'))
- resolve()
- }
- nuxt.build()
+ return new Promise((resolve) => {
+ var oldExit = process.exit
+ var oldCE = console.error // eslint-disable-line no-console
+ var _log = ''
+ console.error = (s) => { _log += s } // eslint-disable-line no-console
+ process.exit = (code) => {
+ process.exit = oldExit
+ console.error = oldCE // eslint-disable-line no-console
+ t.is(code, 1)
+ t.true(_log.includes('Couldn\'t find a `pages` directory. Please create one under the project root'))
+ resolve()
+ }
+ nuxt.build()
+ })
})