Skip to content

Commit

Permalink
test: add tests for validate with error
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Aug 25, 2018
1 parent 87d3038 commit 83d9dc4
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 2 deletions.
10 changes: 8 additions & 2 deletions test/fixtures/basic/pages/validate-async.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,15 @@
<script>
export default {
validate({ query }) {
return new Promise((resolve) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(Boolean(query.valid))
if (query.error) {
const err = new Error('Custom Error')
err.statusCode = parseInt(query.error) || 500
reject(err)
} else {
resolve(Boolean(query.valid))
}
}, 500)
})
}
Expand Down
6 changes: 6 additions & 0 deletions test/fixtures/basic/pages/validate.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@
<script>
export default {
validate({ query }) {
if (query.error) {
const err = new Error('Custom Error')
err.statusCode = parseInt(query.error) || 500
throw err
}
return Boolean(query.valid)
}
}
Expand Down
12 changes: 12 additions & 0 deletions test/unit/basic.ssr.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,18 @@ describe('basic ssr', () => {
expect(html.includes('<h1>I am valid</h1>')).toBe(true)
})

test('/validate?error=403', async () => {
const { html, error } = await nuxt.renderRoute('/validate?error=403')
expect(error).toMatchObject({ statusCode: 403, message: 'Custom Error' })
expect(html.includes('Custom Error')).toBe(true)
})

test('/validate-async?error=503', async () => {
const { html, error } = await nuxt.renderRoute('/validate-async?error=503')
expect(error).toMatchObject({ statusCode: 503, message: 'Custom Error' })
expect(html.includes('Custom Error')).toBe(true)
})

test('/before-enter', async () => {
const { html } = await nuxt.renderRoute('/before-enter')
expect(html.includes('<h1>Index page</h1>')).toBe(true)
Expand Down

0 comments on commit 83d9dc4

Please sign in to comment.