diff options
| author | Kumar Damani <kumar.damani@mail.utoronto.ca> | 2019-04-16 13:17:06 +0000 |
|---|---|---|
| committer | Kumar Damani <kumar.damani@mail.utoronto.ca> | 2019-04-16 13:17:06 +0000 |
| commit | dc46b87abee1e441c07524ddde67fd902a919336 (patch) | |
| tree | 13eba08b8655dfd78e9600ec5f612011a0bf3b35 /node_modules/express-validator/test/withMessageTest.js | |
| parent | 26f4b38e9e5a202756a7c33abc775aea2617aeaf (diff) | |
added some dependencies to package.json
Diffstat (limited to 'node_modules/express-validator/test/withMessageTest.js')
| -rw-r--r-- | node_modules/express-validator/test/withMessageTest.js | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/node_modules/express-validator/test/withMessageTest.js b/node_modules/express-validator/test/withMessageTest.js deleted file mode 100644 index ad38684..0000000 --- a/node_modules/express-validator/test/withMessageTest.js +++ /dev/null @@ -1,93 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Default error message'; -var mustBeTwoDigitsMessage = 'testparam must have two digits'; -var mustBeIntegerMessage = 'testparam must be an integer'; - -function validation(req, res) { - req.checkParams('testparam', errorMessage) - .notEmpty() // with default message - .isInt().withMessage(mustBeIntegerMessage) - .isInt() // with default message - .isLength({ min: 2, max: 2 }).withMessage(mustBeTwoDigitsMessage); - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.params.testparam }); -} - -function fail(expectedMessage) { - if (Array.isArray(expectedMessage)) { - return function(body, length) { - expect(body).to.have.length(length); - expect(expectedMessage).to.have.length(length); - for (var i = 0; i < length; ++i) { - expect(body[i]).to.have.property('msg', expectedMessage[i]); - } - }; - } - return function(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', expectedMessage); - }; -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#withMessage()', function() { - it('should return one error per validation failure, with custom message where defined', function(done) { - getRoute('/test', fail([mustBeIntegerMessage, errorMessage, mustBeTwoDigitsMessage]), 3, done); - }); - - it('should return four errors when param is missing, with default message for the first and third errors, and custom messages for the rest, as defined', function(done) { - getRoute('/', fail([errorMessage, mustBeIntegerMessage, errorMessage, mustBeTwoDigitsMessage]), 4, done); - }); - - it('should return a success when param validates', function(done) { - getRoute('/42', pass, null, done); - }); - - it('should provide a custom message when an invalid value is provided, and the validation is followed by withMessage', function(done) { - getRoute('/199', fail(mustBeTwoDigitsMessage), 1, done); - }); - - it('should update the error message only if the preceeding validation was the one to fail', function() { - var validator = require('../lib/express_validator')(); - var req = { - body: { - testParam: 'abc' - } - }; - - validator(req, {}, function() {}); - req.check('testParam', 'Default Error Message') - .isInt() // should produce 'Default Error Message' - .isLength({ min: 2 }).withMessage('Custom Error Message'); - - expect(req.validationErrors()).to.deep.equal([ - { param: 'testParam', msg: 'Default Error Message', value: 'abc' } - ]); - }); -}); |
