From cfccae41a7122b1b8f8f7c2917e7d07095dd6f38 Mon Sep 17 00:00:00 2001 From: Tina Holly Date: Mon, 5 Jun 2017 20:45:35 -0400 Subject: [PATCH] add missing/problematic field to the response body --- tests/validate-test.js | 7 ++++++- validate.js | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/validate-test.js b/tests/validate-test.js index 7dd3600..4fadae5 100644 --- a/tests/validate-test.js +++ b/tests/validate-test.js @@ -1,4 +1,5 @@ const request = require('supertest'); +const assert = require('assert'); describe('validate() middleware', () => { @@ -37,7 +38,11 @@ describe('validate() middleware', () => { request(server) .post('/contacts') .send({ firstName: 'Tina' }) - .expect(400, done) + .expect(400) + .end((err, res) => { + assert.equal(res.body.field, 'email'); + done(); + }) }); it('returns 200 for successful body validation', (done) => { diff --git a/validate.js b/validate.js index 778ed5f..1fbd3d8 100644 --- a/validate.js +++ b/validate.js @@ -28,7 +28,8 @@ const validate = (schema) => ( return Joi.validate(obj, schema, (err) => { if (err) { const message = `${err.details[0].message.replace(/"/g, "'")} at ${err.details[0].path}`; - res.status(400).json({ message }).end(); + const field = err.details[0].context.key; + res.status(400).json({ message, field }).end(); return; }