54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
'use strict'
|
|
|
|
const { expect } = require('chai')
|
|
const { validateExample } = require('./transform-example')
|
|
|
|
describe('validateExample function', function() {
|
|
it('passes valid examples', function() {
|
|
const validExamples = [
|
|
{
|
|
staticPreview: { message: '123' },
|
|
pattern: 'dt/:package',
|
|
namedParams: { package: 'mypackage' },
|
|
},
|
|
{ previewUrl: 'dt/mypackage' },
|
|
]
|
|
|
|
validExamples.forEach(example => {
|
|
expect(() =>
|
|
validateExample(example, 0, { route: {}, name: 'mockService' })
|
|
).not.to.throw(Error)
|
|
})
|
|
})
|
|
|
|
it('rejects invalid examples', function() {
|
|
const invalidExamples = [
|
|
{},
|
|
{ staticPreview: { message: '123' } },
|
|
{
|
|
staticPreview: { message: '123' },
|
|
pattern: 'dt/:package',
|
|
namedParams: { package: 'mypackage' },
|
|
exampleUrl: 'dt/mypackage',
|
|
},
|
|
{ staticPreview: { message: '123' }, pattern: 'dt/:package' },
|
|
{
|
|
staticPreview: { message: '123' },
|
|
pattern: 'dt/:package',
|
|
previewUrl: 'dt/mypackage',
|
|
},
|
|
{
|
|
staticPreview: { message: '123' },
|
|
pattern: 'dt/:package',
|
|
exampleUrl: 'dt/mypackage',
|
|
},
|
|
]
|
|
|
|
invalidExamples.forEach(example => {
|
|
expect(() =>
|
|
validateExample(example, 0, { route: {}, name: 'mockService' })
|
|
).to.throw(Error)
|
|
})
|
|
})
|
|
})
|