From ee8e1a13b60a6adfdc691b2a9b57289188397641 Mon Sep 17 00:00:00 2001 From: nanalelfe Date: Thu, 21 Jul 2016 02:29:31 -0400 Subject: need pull --- .../express-validator/test/mappedOutputTest.js | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 node_modules/express-validator/test/mappedOutputTest.js (limited to 'node_modules/express-validator/test/mappedOutputTest.js') diff --git a/node_modules/express-validator/test/mappedOutputTest.js b/node_modules/express-validator/test/mappedOutputTest.js new file mode 100644 index 0000000..b8a4c63 --- /dev/null +++ b/node_modules/express-validator/test/mappedOutputTest.js @@ -0,0 +1,52 @@ +var chai = require('chai'); +var expect = chai.expect; +var request = require('supertest'); + +var app; +var errorMessage = 'valid email required'; + +function validation(req, res) { + req.assert('email', 'required').notEmpty(); + req.assert('email', errorMessage).isEmail(); + + var errors = req.validationErrors(true); + if (errors) { + return res.send(errors); + } + res.send({ email: req.params.email || req.query.email || req.body.email }); +} + +function fail(body) { + expect(body).to.have.deep.property('email.msg', errorMessage); +} + +function pass(body) { + expect(body).to.have.property('email', 'test@example.com'); +} + +function testRoute(path, data, test, done) { + request(app) + .post(path) + .send(data) + .end(function(err, res) { + test(res.body); + 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('#validationErrors(true)', function() { + it('should return a success when the correct data is passed on the body', function(done) { + testRoute('/', { email: 'test@example.com' }, pass, done); + }); + + it('should return a mapped error object with each failing param as a property data is invalid', function(done) { + testRoute('/path', { email: 'incorrect' }, fail, done); + }); +}); \ No newline at end of file -- cgit v1.2.3