Skip to content

Commit bcc32b5

Browse files
authored
Merge pull request #33 from Zooz/general/tests-for-default
Add default value functionality
2 parents 1ac9460 + c75bdae commit bcc32b5

3 files changed

Lines changed: 29 additions & 1 deletion

File tree

test/middleware-test.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,27 @@ describe('input-validation middleware tests', function () {
386386
app = testServer;
387387
});
388388
});
389+
it('uses default value for an unspecified parameter', function (done) {
390+
request(app)
391+
.put('/pets')
392+
.send([{
393+
name: 1,
394+
tag: 'tag',
395+
test: {
396+
field1: 'enum1'
397+
}
398+
}])
399+
.expect(200)
400+
.end(function(err, res) {
401+
if (err) {
402+
return done(err);
403+
}
404+
const pet = res.body.receivedParams[0];
405+
expect(pet.awards).to.deep.equal([]);
406+
expect(pet.colour).to.equal('unknown');
407+
done();
408+
});
409+
});
389410
it('request with wrong parameter type - should pass validation due to coercion', function (done) {
390411
request(app)
391412
.put('/pets')

test/pet-store-swagger.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ paths:
101101
type: integer
102102
tag:
103103
type: string
104+
awards:
105+
type: array
106+
default: []
107+
colour:
108+
type: string
109+
default: unknown
104110
test:
105111
type: object
106112
required:

test/test-simple-server-with-coercion.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ var inputValidation = require('../src/middleware');
66

77
module.exports = inputValidation.init('test/pet-store-swagger.yaml', {
88
ajvConfigBody: {
9-
coerceTypes: true
9+
coerceTypes: true,
10+
useDefaults: true
1011
},
1112
makeOptionalAttributesNullable: true
1213
})

0 commit comments

Comments
 (0)