From d69e0819275a9dfa3b0a8456ac15f88775ae1b8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2020 20:22:40 +0800 Subject: [PATCH] fix(deps): bump http-status-codes from 1.4.0 to 2.1.2 (#229) * fix(deps): bump http-status-codes from 1.4.0 to 2.1.2 Bumps [http-status-codes](https://github.com/prettymuchbryce/node-http-status) from 1.4.0 to 2.1.2. - [Release notes](https://github.com/prettymuchbryce/node-http-status/releases) - [Commits](https://github.com/prettymuchbryce/node-http-status/compare/v1.4.0...2.1.2) Signed-off-by: dependabot[bot] * refactor: import StatusCodes from http-status-codes Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Antariksh Mahajan --- package-lock.json | 6 +- package.json | 2 +- .../admin-console.server.controller.js | 24 ++++--- .../admin-forms.server.controller.js | 50 +++++++------- .../authentication.server.controller.js | 40 +++++------ src/app/controllers/core.server.controller.js | 8 +-- .../email-submissions.server.controller.js | 22 +++--- .../encrypt-submissions.server.controller.js | 18 ++--- .../controllers/forms.server.controller.js | 8 +-- .../controllers/frontend.server.controller.js | 8 +-- .../controllers/myinfo.server.controller.js | 8 +-- .../public-forms.server.controller.js | 14 ++-- src/app/controllers/spcp.server.controller.js | 28 ++++---- .../submissions.server.controller.js | 14 ++-- src/app/factories/google-analytics.factory.js | 4 +- src/app/factories/spcp-myinfo.factory.js | 10 +-- src/app/modules/bounce/bounce.controller.ts | 8 +-- .../modules/submission/submission.errors.ts | 4 +- src/app/modules/user/user.controller.ts | 20 +++--- src/app/modules/user/user.errors.ts | 6 +- .../verification/verification.controller.ts | 24 +++---- .../verification/verification.factory.ts | 12 ++-- src/app/modules/webhooks/webhook.errors.ts | 4 +- .../routes/authentication.server.routes.js | 4 +- src/loaders/express/error-handler.ts | 8 +-- .../admin-forms.server.controller.spec.js | 16 +++-- .../authentication.server.controller.spec.js | 20 +++--- ...mail-submissions.server.controller.spec.js | 67 ++++++++++--------- ...rypt-submissions.server.controller.spec.js | 17 +++-- .../forms.server.controller.spec.js | 8 +-- .../public-forms.server.controller.spec.js | 10 +-- .../spcp.server.controller.spec.js | 28 ++++---- .../submissions.server.controller.spec.js | 12 ++-- .../modules/bounce/bounce.controller.spec.ts | 10 +-- .../modules/user/user.controller.spec.ts | 26 +++---- .../verification.controller.spec.ts | 26 +++---- 36 files changed, 306 insertions(+), 288 deletions(-) diff --git a/package-lock.json b/package-lock.json index c0920a6af0..6ed3cf5daf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13591,9 +13591,9 @@ } }, "http-status-codes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-1.4.0.tgz", - "integrity": "sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.1.2.tgz", + "integrity": "sha512-zpZ1nBcoR0j1FLQ7xbXXBy1z/yUfAi+0a5IZBoZnmOseYkaljdzQ17ZeVXFlK23IbLxMJn6aWI0uU92DQQrG0g==" }, "httpntlm": { "version": "1.6.1", diff --git a/package.json b/package.json index ad05d18be1..8c9f95cf3f 100644 --- a/package.json +++ b/package.json @@ -120,7 +120,7 @@ "glob": "^7.1.2", "has-ansi": "^4.0.0", "helmet": "^3.21.3", - "http-status-codes": "^1.4.0", + "http-status-codes": "^2.1.2", "intl-tel-input": "~12.1.6", "json-stringify-deterministic": "^1.0.1", "json-stringify-safe": "^5.0.1", diff --git a/src/app/controllers/admin-console.server.controller.js b/src/app/controllers/admin-console.server.controller.js index 7bb1dea1d5..8dd781bac6 100644 --- a/src/app/controllers/admin-console.server.controller.js +++ b/src/app/controllers/admin-console.server.controller.js @@ -5,7 +5,7 @@ */ const mongoose = require('mongoose') const moment = require('moment-timezone') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const getLoginModel = require('../models/login.server.model').default const getSubmissionModel = require('../models/submission.server.model').default @@ -534,7 +534,7 @@ const getExampleFormsUsing = ( x.timeText = parseTime(x.lastSubmission) }) const totalNumResults = _.get(totalCount, '[0].count', 0) - return cb(null, HttpStatus.OK, { forms: pageResults, totalNumResults }) + return cb(null, StatusCodes.OK, { forms: pageResults, totalNumResults }) }) } else { mongoQuery = mongoQuery @@ -544,12 +544,12 @@ const getExampleFormsUsing = ( pageResults.forEach((x) => { x.timeText = parseTime(x.lastSubmission) }) - return cb(null, HttpStatus.OK, { forms: pageResults }) + return cb(null, StatusCodes.OK, { forms: pageResults }) }) } mongoQuery.catch((err) => { - return cb(err, HttpStatus.INTERNAL_SERVER_ERROR, { + return cb(err, StatusCodes.INTERNAL_SERVER_ERROR, { message: 'Error in retrieving example forms.', }) }) @@ -632,7 +632,7 @@ const getSingleExampleFormUsing = ( cb, ) => { if (!formId || !mongoose.Types.ObjectId.isValid(formId)) { - return cb(null, HttpStatus.BAD_REQUEST, { + return cb(null, StatusCodes.BAD_REQUEST, { message: 'Form URL is missing/invalid.', }) } @@ -644,18 +644,18 @@ const getSingleExampleFormUsing = ( .exec((err, result) => { // Error if (err) { - return cb(err, HttpStatus.INTERNAL_SERVER_ERROR, { + return cb(err, StatusCodes.INTERNAL_SERVER_ERROR, { message: 'Error in retrieving example forms.', }) } if (!result) { - return cb(err, HttpStatus.NOT_FOUND, { message: 'No results found.' }) + return cb(err, StatusCodes.NOT_FOUND, { message: 'No results found.' }) } let [form] = result if (!form) { // The form data was not retrieved (formId likely invalid) - return cb(err, HttpStatus.NOT_FOUND, { + return cb(err, StatusCodes.NOT_FOUND, { message: 'Error in retrieving template form - form not found.', }) } @@ -677,7 +677,7 @@ const getSingleExampleFormUsing = ( form.avgFeedback = submissionDetails.avgFeedback form.timeText = parseTime(form.lastSubmission) } - return cb(err, HttpStatus.OK, { form }) + return cb(err, StatusCodes.OK, { form }) }) }) } @@ -814,10 +814,12 @@ exports.getLoginStats = function (req, res) { error, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send('Error in retrieving billing records') } else if (!loginStats) { - return res.status(HttpStatus.NOT_FOUND).send('No billing records found') + return res + .status(StatusCodes.NOT_FOUND) + .send('No billing records found') } else { logger.info({ message: `Billing search for ${esrvcId} by ${ diff --git a/src/app/controllers/admin-forms.server.controller.js b/src/app/controllers/admin-forms.server.controller.js index 1b89e1e8dc..8712c907ec 100644 --- a/src/app/controllers/admin-forms.server.controller.js +++ b/src/app/controllers/admin-forms.server.controller.js @@ -7,7 +7,7 @@ const mongoose = require('mongoose') const moment = require('moment-timezone') const _ = require('lodash') const JSONStream = require('JSONStream') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const get = require('lodash/get') const logger = require('../../config/logger').createLoggerWithLabel(module) @@ -78,17 +78,17 @@ function makeModule(connection) { let statusCode if (err.name === 'ValidationError') { - statusCode = HttpStatus.UNPROCESSABLE_ENTITY + statusCode = StatusCodes.UNPROCESSABLE_ENTITY } else if (err.name === 'VersionError') { - statusCode = HttpStatus.CONFLICT + statusCode = StatusCodes.CONFLICT } else if ( err.name === 'FormSizeError' || // FormSG-imposed limit in pre-validate hook err instanceof RangeError || // exception when Mongoose breaches Mongo 16MB size limit (err.name === 'MongoError' && err.code === 10334) // MongoDB Invalid BSON error ) { - statusCode = HttpStatus.REQUEST_TOO_LONG // HTTP 413 Payload Too Large + statusCode = StatusCodes.REQUEST_TOO_LONG // HTTP 413 Payload Too Large } else { - statusCode = HttpStatus.INTERNAL_SERVER_ERROR + statusCode = StatusCodes.INTERNAL_SERVER_ERROR } return res.status(statusCode).send({ @@ -239,7 +239,7 @@ function makeModule(connection) { */ isFormActive: function (req, res, next) { if (req.form.status === 'ARCHIVED') { - return res.status(HttpStatus.NOT_FOUND).send({ + return res.status(StatusCodes.NOT_FOUND).send({ message: 'Form has been archived', }) } else { @@ -254,7 +254,7 @@ function makeModule(connection) { */ isFormEncryptMode: function (req, res, next) { if (req.form.responseMode !== 'encrypt') { - return res.status(HttpStatus.UNPROCESSABLE_ENTITY).send({ + return res.status(StatusCodes.UNPROCESSABLE_ENTITY).send({ message: 'Form is not encrypt mode', }) } @@ -267,7 +267,7 @@ function makeModule(connection) { */ create: function (req, res) { if (!req.body.form) { - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Invalid Input', }) } @@ -314,7 +314,7 @@ function makeModule(connection) { }, }) return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send({ message: 'Invalid update to form' }) } else { const { error, formFields } = getEditedFormFields( @@ -331,7 +331,7 @@ function makeModule(connection) { }, error, }) - return res.status(HttpStatus.BAD_REQUEST).send({ message: error }) + return res.status(StatusCodes.BAD_REQUEST).send({ message: error }) } form.form_fields = formFields delete updatedForm.editFormField @@ -393,7 +393,7 @@ function makeModule(connection) { return respondOnMongoError(req, res, err) } else if (!form) { return res - .status(HttpStatus.NOT_FOUND) + .status(StatusCodes.NOT_FOUND) .send({ message: 'Form not found for duplication' }) } else { let responseMode = req.body.responseMode || 'email' @@ -470,7 +470,7 @@ function makeModule(connection) { if (err) { return respondOnMongoError(req, res, err) } else if (!forms) { - return res.status(HttpStatus.NOT_FOUND).send({ + return res.status(StatusCodes.NOT_FOUND).send({ message: 'No user-created and collaborated-on forms found', }) } @@ -493,7 +493,7 @@ function makeModule(connection) { return respondOnMongoError(req, res, err) } else if (!feedback) { return res - .status(HttpStatus.NOT_FOUND) + .status(StatusCodes.NOT_FOUND) .send({ message: 'No feedback found' }) } else { let sum = 0 @@ -546,7 +546,7 @@ function makeModule(connection) { }, error: err, }) - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: errorHandler.getMongoErrorMessage(err), }) } else { @@ -573,7 +573,7 @@ function makeModule(connection) { }, error: err, }) - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: 'Error retrieving from database.', }) }) @@ -587,7 +587,7 @@ function makeModule(connection) { }, error: err, }) - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: 'Error converting feedback to JSON', }) }) @@ -601,7 +601,7 @@ function makeModule(connection) { }, error: err, }) - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: 'Error writing feedback to HTTP stream', }) }) @@ -624,10 +624,10 @@ function makeModule(connection) { !('comment' in req.body) ) { return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send('Form feedback data not passed in') } else { - return res.status(HttpStatus.OK).send('Successfully received feedback') + return res.status(StatusCodes.OK).send('Successfully received feedback') } }, /** @@ -684,7 +684,7 @@ function makeModule(connection) { createPresignedPostForImages: function (req, res) { if (!VALID_UPLOAD_FILE_TYPES.includes(req.body.fileType)) { return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send(`Your file type "${req.body.fileType}" is not supported`) } @@ -712,9 +712,9 @@ function makeModule(connection) { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send(err) + return res.status(StatusCodes.BAD_REQUEST).send(err) } else { - return res.status(HttpStatus.OK).send(presignedPostObject) + return res.status(StatusCodes.OK).send(presignedPostObject) } }, ) @@ -731,7 +731,7 @@ function makeModule(connection) { createPresignedPostForLogos: function (req, res) { if (!VALID_UPLOAD_FILE_TYPES.includes(req.body.fileType)) { return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send(`Your file type "${req.body.fileType}" is not supported`) } @@ -759,9 +759,9 @@ function makeModule(connection) { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send(err) + return res.status(StatusCodes.BAD_REQUEST).send(err) } else { - return res.status(HttpStatus.OK).send(presignedPostObject) + return res.status(StatusCodes.OK).send(presignedPostObject) } }, ) diff --git a/src/app/controllers/authentication.server.controller.js b/src/app/controllers/authentication.server.controller.js index 4061d3e112..24f6bec63e 100755 --- a/src/app/controllers/authentication.server.controller.js +++ b/src/app/controllers/authentication.server.controller.js @@ -13,7 +13,7 @@ const Token = getTokenModel(mongoose) const Agency = getAgencyModel(mongoose) const bcrypt = require('bcrypt') const validator = require('validator') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const config = require('../../config/config') const defaults = require('../../config/defaults').default @@ -36,7 +36,7 @@ exports.authenticateUser = function (req, res, next) { return next() } else { return res - .status(HttpStatus.UNAUTHORIZED) + .status(StatusCodes.UNAUTHORIZED) .send({ message: 'User is unauthorized.' }) } } @@ -53,7 +53,7 @@ exports.validateDomain = function (req, res, next) { // Database issues if (err) { return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( `Unable to validate email domain. If this issue persists, please submit a Support Form (${defaults.links.supportFormLink}).`, ) @@ -71,7 +71,7 @@ exports.validateDomain = function (req, res, next) { error: err, }) return res - .status(HttpStatus.UNAUTHORIZED) + .status(StatusCodes.UNAUTHORIZED) .send( 'This is not a whitelisted public service email domain. Please log in with your official government or government-linked email address.', ) @@ -129,7 +129,7 @@ exports.verifyPermission = (requiredPermission) => if (hasSufficientPermission) { return next() } else { - return res.status(HttpStatus.FORBIDDEN).send({ + return res.status(StatusCodes.FORBIDDEN).send({ message: 'User ' + req.session.user.email + @@ -156,7 +156,7 @@ exports.createOtp = function (req, res, next) { bcrypt.hash(otp, 10, function (bcryptErr, hashedOtp) { if (bcryptErr) { return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( 'Error generating OTP. Please try again later and if the problem persists, contact us.', ) @@ -188,7 +188,7 @@ exports.createOtp = function (req, res, next) { error: updateErr, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( 'Error saving OTP. Please try again later and if the problem persists, contact us.', ) @@ -228,7 +228,7 @@ exports.sendOtp = async function (req, res) { email: recipient, }, }) - return res.status(HttpStatus.OK).send(`OTP sent to ${recipient}!`) + return res.status(StatusCodes.OK).send(`OTP sent to ${recipient}!`) } catch (err) { logger.error({ message: 'Mail otp error', @@ -241,7 +241,7 @@ exports.sendOtp = async function (req, res) { error: err, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( 'Error sending OTP. Please try again later and if the problem persists, contact us.', ) @@ -284,7 +284,7 @@ exports.verifyOtp = function (req, res, next) { error: updateErr, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( `Unable to login at this time. Please submit a Support Form (${defaults.links.supportFormLink}).`, ) @@ -299,7 +299,7 @@ exports.verifyOtp = function (req, res, next) { }, }) return res - .status(HttpStatus.UNPROCESSABLE_ENTITY) + .status(StatusCodes.UNPROCESSABLE_ENTITY) .send('OTP has expired. Click Resend to receive a new OTP.') } if (updatedRecord.numOtpAttempts > MAX_OTP_ATTEMPTS) { @@ -312,7 +312,7 @@ exports.verifyOtp = function (req, res, next) { }, }) return res - .status(HttpStatus.UNPROCESSABLE_ENTITY) + .status(StatusCodes.UNPROCESSABLE_ENTITY) .send( 'You have hit the max number of attempts for this OTP. Click Resend to receive a new OTP.', ) @@ -331,7 +331,7 @@ exports.verifyOtp = function (req, res, next) { error: bcryptErr, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( 'Malformed OTP. Please try again later and if the problem persists, contact us.', ) @@ -349,7 +349,7 @@ exports.verifyOtp = function (req, res, next) { error: removeErr, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( 'Failed to validate OTP. Please try again later and if the problem persists, contact us.', ) @@ -367,7 +367,7 @@ exports.verifyOtp = function (req, res, next) { }, }) return res - .status(HttpStatus.UNAUTHORIZED) + .status(StatusCodes.UNAUTHORIZED) .send('OTP is invalid. Please try again.') } }) @@ -410,7 +410,7 @@ exports.signIn = function (req, res) { function (updateErr, user) { if (updateErr || !user) { return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send( `User signin failed. Please try again later and if the problem persists, submit our Support Form (${defaults.links.supportFormLink}).`, ) @@ -433,7 +433,7 @@ exports.signIn = function (req, res) { ip: getRequestIp(req), }, }) - return res.status(HttpStatus.OK).send(userObj) + return res.status(StatusCodes.OK).send(userObj) }, ) } @@ -447,11 +447,11 @@ exports.signOut = function (req, res) { req.session.destroy(function (err) { if (err) { return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send('Sign out failed') } else { res.clearCookie('connect.sid') - return res.status(HttpStatus.OK).send('Sign out successful') + return res.status(StatusCodes.OK).send('Sign out successful') } }) } @@ -472,7 +472,7 @@ exports.doesUserBeta = (betaType) => (req, res, next) => { if (user && user.betaFlags && user.betaFlags[betaType]) { return next() } else { - return res.status(HttpStatus.FORBIDDEN).send({ + return res.status(StatusCodes.FORBIDDEN).send({ message: `User is not authorized to access beta feature: ${betaType}`, }) } diff --git a/src/app/controllers/core.server.controller.js b/src/app/controllers/core.server.controller.js index aa03f39b21..aabe21fcb0 100755 --- a/src/app/controllers/core.server.controller.js +++ b/src/app/controllers/core.server.controller.js @@ -1,6 +1,6 @@ const mongoose = require('mongoose') const _ = require('lodash') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const config = require('../../config/config') const { getRequestIp } = require('../utils/request') @@ -58,11 +58,11 @@ exports.formCountUsingAggregateCollection = (req, res) => { }, error: err, }) - res.sendStatus(HttpStatus.SERVICE_UNAVAILABLE) + res.sendStatus(StatusCodes.SERVICE_UNAVAILABLE) } else if (result) { res.json(_.get(result, 'numActiveForms', 0)) } else { - res.sendStatus(HttpStatus.INTERNAL_SERVER_ERROR) + res.sendStatus(StatusCodes.INTERNAL_SERVER_ERROR) } }, ) @@ -102,7 +102,7 @@ exports.formCountUsingSubmissionsCollection = (req, res) => { }, error: err, }) - res.sendStatus(HttpStatus.SERVICE_UNAVAILABLE) + res.sendStatus(StatusCodes.SERVICE_UNAVAILABLE) } else { res.json(forms.length) } diff --git a/src/app/controllers/email-submissions.server.controller.js b/src/app/controllers/email-submissions.server.controller.js index 8a7827beea..8c3cd118f2 100644 --- a/src/app/controllers/email-submissions.server.controller.js +++ b/src/app/controllers/email-submissions.server.controller.js @@ -8,7 +8,7 @@ const stringify = require('json-stringify-deterministic') const mongoose = require('mongoose') const { getEmailSubmissionModel } = require('../models/submission.server.model') const emailSubmission = getEmailSubmissionModel(mongoose) -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { getRequestIp } = require('../utils/request') const { ConflictError } = require('../modules/submission/submission.errors') const { MB } = require('../constants/filesize') @@ -61,7 +61,7 @@ exports.receiveEmailSubmissionUsingBusBoy = function (req, res, next) { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Required headers are missing', }) } @@ -112,7 +112,7 @@ exports.receiveEmailSubmissionUsingBusBoy = function (req, res, next) { }, error: err, }) - return res.sendStatus(HttpStatus.BAD_REQUEST) + return res.sendStatus(StatusCodes.BAD_REQUEST) } } }) @@ -129,7 +129,7 @@ exports.receiveEmailSubmissionUsingBusBoy = function (req, res, next) { }, }) return res - .status(HttpStatus.REQUEST_TOO_LONG) + .status(StatusCodes.REQUEST_TOO_LONG) .send({ message: 'Your submission is too large.' }) } @@ -171,13 +171,13 @@ exports.receiveEmailSubmissionUsingBusBoy = function (req, res, next) { formId: req.form._id, }, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Some files were invalid. Try uploading another file.', }) } if (areAttachmentsMoreThan7MB(attachments)) { - return res.status(HttpStatus.UNPROCESSABLE_ENTITY).send({ + return res.status(StatusCodes.UNPROCESSABLE_ENTITY).send({ message: 'Please keep the size of your attachments under 7MB.', }) } @@ -199,7 +199,7 @@ exports.receiveEmailSubmissionUsingBusBoy = function (req, res, next) { error, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send({ message: 'Unable to process submission.' }) } }) @@ -215,7 +215,7 @@ exports.receiveEmailSubmissionUsingBusBoy = function (req, res, next) { error: err, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send({ message: 'Unable to process submission.' }) }) @@ -256,7 +256,7 @@ exports.validateEmailSubmission = function (req, res, next) { 'The form has been updated. Please refresh and submit again.', }) } else { - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'There is something wrong with your form submission. Please check your responses and try again. If the problem persists, please refresh the page.', }) @@ -269,7 +269,7 @@ exports.validateEmailSubmission = function (req, res, next) { ) return next() } else { - return res.sendStatus(HttpStatus.BAD_REQUEST) + return res.sendStatus(StatusCodes.BAD_REQUEST) } } @@ -507,7 +507,7 @@ function onSubmissionEmailFailure(err, req, res, submission) { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Could not send submission. For assistance, please contact the person who asked you to fill in this form.', submissionId: submission._id, diff --git a/src/app/controllers/encrypt-submissions.server.controller.js b/src/app/controllers/encrypt-submissions.server.controller.js index 1462540713..d364e21bfe 100644 --- a/src/app/controllers/encrypt-submissions.server.controller.js +++ b/src/app/controllers/encrypt-submissions.server.controller.js @@ -2,7 +2,7 @@ const crypto = require('crypto') const moment = require('moment-timezone') const JSONStream = require('JSONStream') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const errorHandler = require('./errors.server.controller') @@ -49,7 +49,7 @@ exports.validateEncryptSubmission = function (req, res, next) { error, }) return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send({ message: 'Invalid data was found. Please submit again.' }) } @@ -73,7 +73,7 @@ exports.validateEncryptSubmission = function (req, res, next) { 'The form has been updated. Please refresh and submit again.', }) } else { - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'There is something wrong with your form submission. Please check your responses and try again. If the problem persists, please refresh the page.', }) @@ -81,7 +81,7 @@ exports.validateEncryptSubmission = function (req, res, next) { } return next() } else { - return res.sendStatus(HttpStatus.BAD_REQUEST) + return res.sendStatus(StatusCodes.BAD_REQUEST) } } @@ -116,7 +116,7 @@ function onEncryptSubmissionFailure(err, req, res, submission) { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Could not send submission. For assistance, please contact the person who asked you to fill in this form.', submissionId: submission._id, @@ -283,7 +283,7 @@ exports.getMetadata = function (req, res) { }, error: err, }) - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: errorHandler.getMongoErrorMessage(err), }) } else { @@ -302,7 +302,7 @@ exports.getMetadata = function (req, res) { number-- return entry }) - return res.status(HttpStatus.OK).send({ metadata, count }) + return res.status(StatusCodes.OK).send({ metadata, count }) } }) } @@ -341,7 +341,7 @@ exports.getEncryptedResponse = function (req, res) { }, error: err, }) - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: errorHandler.getMongoErrorMessage(err), }) } else { @@ -377,7 +377,7 @@ exports.streamEncryptedResponses = async function (req, res) { isMalformedDate(req.query.startDate) || isMalformedDate(req.query.endDate) ) { - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Malformed date parameter', }) } diff --git a/src/app/controllers/forms.server.controller.js b/src/app/controllers/forms.server.controller.js index aefb057ee9..22c87ddf1c 100644 --- a/src/app/controllers/forms.server.controller.js +++ b/src/app/controllers/forms.server.controller.js @@ -5,7 +5,7 @@ */ const mongoose = require('mongoose') const _ = require('lodash') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { getRequestIp } = require('../utils/request') const logger = require('../../config/logger').createLoggerWithLabel(module) @@ -95,20 +95,20 @@ exports.formById = async function (req, res, next) { let id = req.params && req.params.formId if (!mongoose.Types.ObjectId.isValid(id)) { - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Form URL is invalid.', }) } try { const form = await Form.getFullFormById(id) if (!form) { - return res.status(HttpStatus.NOT_FOUND).send({ + return res.status(StatusCodes.NOT_FOUND).send({ message: "Oops! We can't find the form you're looking for.", }) } else { // Remove sensitive information from User object if (!form.admin) { - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: 'Server error.', }) } diff --git a/src/app/controllers/frontend.server.controller.js b/src/app/controllers/frontend.server.controller.js index 9b02a4e2bb..4851f6174b 100644 --- a/src/app/controllers/frontend.server.controller.js +++ b/src/app/controllers/frontend.server.controller.js @@ -1,7 +1,7 @@ 'use strict' const ejs = require('ejs') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') /** * Google Tag Manager initialisation Javascript code templated @@ -20,7 +20,7 @@ module.exports.datalayer = function (req, res) { ` res .type('text/javascript') - .status(HttpStatus.OK) + .status(StatusCodes.OK) .send(ejs.render(js, req.app.locals)) } @@ -31,7 +31,7 @@ module.exports.datalayer = function (req, res) { module.exports.environment = function (req, res) { res .type('text/javascript') - .status(HttpStatus.OK) + .status(StatusCodes.OK) .send(req.app.locals.environment) } @@ -48,6 +48,6 @@ module.exports.redirectLayer = function (req, res) { ` res .type('text/javascript') - .status(HttpStatus.OK) + .status(StatusCodes.OK) .send(ejs.render(js, req.query)) } diff --git a/src/app/controllers/myinfo.server.controller.js b/src/app/controllers/myinfo.server.controller.js index 6d33f72f8d..c290a28697 100644 --- a/src/app/controllers/myinfo.server.controller.js +++ b/src/app/controllers/myinfo.server.controller.js @@ -8,7 +8,7 @@ const Promise = require('bluebird') const _ = require('lodash') const mongoose = require('mongoose') const moment = require('moment') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { sessionSecret } = require('../../config/config') const { getRequestIp } = require('../utils/request') @@ -195,7 +195,7 @@ exports.verifyMyInfoVals = function (req, res, next) { }, error: err, }) - return res.status(HttpStatus.SERVICE_UNAVAILABLE).send({ + return res.status(StatusCodes.SERVICE_UNAVAILABLE).send({ message: 'MyInfo verification unavailable, please try again later.', spcpSubmissionFailure: true, }) @@ -210,7 +210,7 @@ exports.verifyMyInfoVals = function (req, res, next) { formId: formObjId, }, }) - return res.status(HttpStatus.GONE).send({ + return res.status(StatusCodes.GONE).send({ message: 'MyInfo verification expired, please refresh and try again.', spcpSubmissionFailure: true, @@ -258,7 +258,7 @@ exports.verifyMyInfoVals = function (req, res, next) { failedFields: hashFailedAttrs, }, }) - return res.status(HttpStatus.UNAUTHORIZED).send({ + return res.status(StatusCodes.UNAUTHORIZED).send({ message: 'MyInfo verification failed.', spcpSubmissionFailure: true, }) diff --git a/src/app/controllers/public-forms.server.controller.js b/src/app/controllers/public-forms.server.controller.js index 73116bf8fc..6f1164b90c 100644 --- a/src/app/controllers/public-forms.server.controller.js +++ b/src/app/controllers/public-forms.server.controller.js @@ -1,7 +1,7 @@ 'use strict' const mongoose = require('mongoose') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { getRequestIp } = require('../utils/request') const logger = require('../../config/logger').createLoggerWithLabel(module) @@ -22,9 +22,9 @@ exports.isFormPublic = function (req, res, next) { case 'PUBLIC': return next() case 'ARCHIVED': - return res.sendStatus(HttpStatus.GONE) + return res.sendStatus(StatusCodes.GONE) default: - return res.status(HttpStatus.NOT_FOUND).send({ + return res.status(StatusCodes.NOT_FOUND).send({ message: req.form.inactiveMessage, isPageFound: true, // Flag to prevent default 404 subtext ("please check link") from showing formTitle: req.form.title, @@ -80,7 +80,7 @@ exports.submitFeedback = function (req, res) { !('comment' in req.body) ) { return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send('Form feedback data not passed in') } @@ -101,10 +101,12 @@ exports.submitFeedback = function (req, res) { error: err, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send('Form feedback could not be created') } else { - return res.status(HttpStatus.OK).send('Successfully submitted feedback') + return res + .status(StatusCodes.OK) + .send('Successfully submitted feedback') } }, ) diff --git a/src/app/controllers/spcp.server.controller.js b/src/app/controllers/spcp.server.controller.js index fdfbfd4f34..b60bfec07f 100644 --- a/src/app/controllers/spcp.server.controller.js +++ b/src/app/controllers/spcp.server.controller.js @@ -6,7 +6,7 @@ const { isEmpty } = require('lodash') const mongoose = require('mongoose') const crypto = require('crypto') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const axios = require('axios') const { getRequestIp } = require('../utils/request') @@ -112,7 +112,7 @@ const handleOOBAuthenticationWith = (ndiConfig, authType, extractUser) => { const payloads = String(relayState).split(',') if (payloads.length !== 2) { - return res.status(HttpStatus.BAD_REQUEST).send() + return res.status(StatusCodes.BAD_REQUEST).send() } const destination = payloads[0] @@ -126,7 +126,7 @@ const handleOOBAuthenticationWith = (ndiConfig, authType, extractUser) => { authType, ) ) { - res.status(HttpStatus.UNAUTHORIZED).send() + res.status(StatusCodes.UNAUTHORIZED).send() return } @@ -134,11 +134,11 @@ const handleOOBAuthenticationWith = (ndiConfig, authType, extractUser) => { samlArt = String(samlArt).replace(/ /g, '+') if (!destinationIsValid(destination)) - return res.status(HttpStatus.BAD_REQUEST).send() + return res.status(StatusCodes.BAD_REQUEST).send() getForm(destination, (err, form) => { if (err || !form || form.authType !== authType) { - res.status(HttpStatus.NOT_FOUND).send() + res.status(StatusCodes.NOT_FOUND).send() return } authClient.getAttributes(samlArt, destination, (err, data) => { @@ -218,13 +218,13 @@ exports.createSpcpRedirectURL = (authClients) => { req.redirectURL = authClient.createRedirectURL(target, esrvcId) return next() } else { - return res.status(HttpStatus.BAD_REQUEST).send('Redirect URL malformed') + return res.status(StatusCodes.BAD_REQUEST).send('Redirect URL malformed') } } } exports.returnSpcpRedirectURL = function (req, res) { - return res.status(HttpStatus.OK).send({ redirectURL: req.redirectURL }) + return res.status(StatusCodes.OK).send({ redirectURL: req.redirectURL }) } const getSubstringBetween = (text, markerStart, markerEnd) => { @@ -249,7 +249,7 @@ exports.validateESrvcId = (req, res) => { }, timeout: 10000, // 10 seconds // Throw error if not status 200. - validateStatus: (status) => status === HttpStatus.OK, + validateStatus: (status) => status === StatusCodes.OK, }) .then(({ data }) => { // The successful login page should have the title 'SingPass Login' @@ -264,12 +264,12 @@ exports.validateESrvcId = (req, res) => { data, }, }) - return res.status(HttpStatus.BAD_GATEWAY).send({ + return res.status(StatusCodes.BAD_GATEWAY).send({ message: 'Singpass returned incomprehensible content', }) } if (title.indexOf('Error') === -1) { - return res.status(HttpStatus.OK).send({ + return res.status(StatusCodes.OK).send({ isValid: true, }) } @@ -280,7 +280,7 @@ exports.validateESrvcId = (req, res) => { 'System Code: ', '', ) - return res.status(HttpStatus.OK).send({ + return res.status(StatusCodes.OK).send({ isValid: false, errorCode, }) @@ -296,7 +296,7 @@ exports.validateESrvcId = (req, res) => { }, error: err, }) - return res.status(HttpStatus.SERVICE_UNAVAILABLE).send({ + return res.status(StatusCodes.SERVICE_UNAVAILABLE).send({ message: 'Failed to contact Singpass', }) }) @@ -419,7 +419,7 @@ exports.encryptedVerifiedFields = (signingSecretKey) => { error, }) return res - .status(HttpStatus.BAD_REQUEST) + .status(StatusCodes.BAD_REQUEST) .send({ message: 'Invalid data was found. Please submit again.' }) } } @@ -488,7 +488,7 @@ exports.isSpcpAuthenticated = (authClients) => { }, error: err, }) - res.status(HttpStatus.UNAUTHORIZED).send({ + res.status(StatusCodes.UNAUTHORIZED).send({ message: 'User is not SPCP authenticated', spcpSubmissionFailure: true, }) diff --git a/src/app/controllers/submissions.server.controller.js b/src/app/controllers/submissions.server.controller.js index 232d53b047..68dc21ae31 100644 --- a/src/app/controllers/submissions.server.controller.js +++ b/src/app/controllers/submissions.server.controller.js @@ -7,7 +7,7 @@ const errorHandler = require('./errors.server.controller') const getSubmissionModel = require('../models/submission.server.model').default const Submission = getSubmissionModel(mongoose) -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { getRequestIp } = require('../utils/request') const { isMalformedDate, createQueryWithDateParam } = require('../utils/date') @@ -28,7 +28,7 @@ exports.captchaCheck = (captchaPrivateKey) => { return next() } else { if (!captchaPrivateKey) { - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: 'Captcha not set-up', }) } else if (!req.query.captchaResponse) { @@ -40,7 +40,7 @@ exports.captchaCheck = (captchaPrivateKey) => { ip: getRequestIp(req), }, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Captcha was missing. Please refresh and submit again.', }) } else { @@ -62,7 +62,7 @@ exports.captchaCheck = (captchaPrivateKey) => { ip: getRequestIp(req), }, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Captcha was incorrect. Please submit again.', }) } @@ -79,7 +79,7 @@ exports.captchaCheck = (captchaPrivateKey) => { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Could not verify captcha. Please submit again in a few minutes.', }) @@ -204,7 +204,7 @@ exports.count = function (req, res) { isMalformedDate(req.query.startDate) || isMalformedDate(req.query.endDate) ) { - return res.status(HttpStatus.BAD_REQUEST).send({ + return res.status(StatusCodes.BAD_REQUEST).send({ message: 'Malformed date parameter', }) } @@ -229,7 +229,7 @@ exports.count = function (req, res) { error: err, }) - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({ + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send({ message: errorHandler.getMongoErrorMessage(err), }) } else { diff --git a/src/app/factories/google-analytics.factory.js b/src/app/factories/google-analytics.factory.js index a4d718a85c..1f83684250 100644 --- a/src/app/factories/google-analytics.factory.js +++ b/src/app/factories/google-analytics.factory.js @@ -1,6 +1,6 @@ const featureManager = require('../../config/feature-manager').default const frontend = require('../controllers/frontend.server.controller') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const googleAnalyticsFactory = ({ isEnabled }) => { if (isEnabled) { @@ -10,7 +10,7 @@ const googleAnalyticsFactory = ({ isEnabled }) => { } else { return { datalayer: (req, res) => { - res.type('text/javascript').status(HttpStatus.OK).send() + res.type('text/javascript').status(StatusCodes.OK).send() }, } } diff --git a/src/app/factories/spcp-myinfo.factory.js b/src/app/factories/spcp-myinfo.factory.js index 4d7979def6..d845c28148 100644 --- a/src/app/factories/spcp-myinfo.factory.js +++ b/src/app/factories/spcp-myinfo.factory.js @@ -2,7 +2,7 @@ const adminConsole = require('../controllers/admin-console.server.controller') const spcp = require('../controllers/spcp.server.controller') const myInfo = require('../controllers/myinfo.server.controller') const admin = require('../controllers/admin-forms.server.controller') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const featureManager = require('../../config/feature-manager').default const config = require('../../config/config') const fs = require('fs') @@ -136,17 +136,17 @@ const spcpFactory = ({ isEnabled, props }) => { }), verifyMyInfoVals: (req, res, next) => next(), returnSpcpRedirectURL: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), singPassLogin: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), corpPassLogin: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), addSpcpSessionInfo: (req, res, next) => next(), isSpcpAuthenticated: (req, res, next) => next(), createSpcpRedirectURL: (req, res, next) => next(), addMyInfo: (req, res, next) => next(), validateESrvcId: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), } } } diff --git a/src/app/modules/bounce/bounce.controller.ts b/src/app/modules/bounce/bounce.controller.ts index 502bb57f6d..f983462f6b 100644 --- a/src/app/modules/bounce/bounce.controller.ts +++ b/src/app/modules/bounce/bounce.controller.ts @@ -1,5 +1,5 @@ import { Request, Response } from 'express' -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { createLoggerWithLabel } from '../../../config/logger' import { ISnsNotification } from '../../../types' @@ -23,10 +23,10 @@ const handleSns = async ( try { const isValid = await snsService.isValidSnsRequest(req.body) if (!isValid) { - return res.sendStatus(HttpStatus.FORBIDDEN) + return res.sendStatus(StatusCodes.FORBIDDEN) } await snsService.updateBounces(req.body) - return res.sendStatus(HttpStatus.OK) + return res.sendStatus(StatusCodes.OK) } catch (err) { logger.warn({ message: 'Error updating bounces', @@ -35,7 +35,7 @@ const handleSns = async ( }, error: err, }) - return res.sendStatus(HttpStatus.BAD_REQUEST) + return res.sendStatus(StatusCodes.BAD_REQUEST) } } diff --git a/src/app/modules/submission/submission.errors.ts b/src/app/modules/submission/submission.errors.ts index 49ac049b57..816ba3daf5 100644 --- a/src/app/modules/submission/submission.errors.ts +++ b/src/app/modules/submission/submission.errors.ts @@ -1,4 +1,4 @@ -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { ApplicationError } from '../core/core.errors' @@ -8,6 +8,6 @@ import { ApplicationError } from '../core/core.errors' */ export class ConflictError extends ApplicationError { constructor(message: string, meta?: string) { - super(message, HttpStatus.CONFLICT, meta) + super(message, StatusCodes.CONFLICT, meta) } } diff --git a/src/app/modules/user/user.controller.ts b/src/app/modules/user/user.controller.ts index 4c47c4d1d6..7953a6bf38 100644 --- a/src/app/modules/user/user.controller.ts +++ b/src/app/modules/user/user.controller.ts @@ -1,6 +1,6 @@ import to from 'await-to-js' import { RequestHandler } from 'express' -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { createLoggerWithLabel } from '../../../config/logger' import SmsFactory from '../../factories/sms.factory' @@ -33,17 +33,17 @@ export const handleContactSendOtp: RequestHandler< // Guard against user updating for a different user, or if user is not logged // in. if (!sessionUserId || sessionUserId !== userId) { - return res.status(HttpStatus.UNAUTHORIZED).send('User is unauthorized.') + return res.status(StatusCodes.UNAUTHORIZED).send('User is unauthorized.') } try { const generatedOtp = await createContactOtp(userId, contact) await SmsFactory.sendAdminContactOtp(contact, generatedOtp, userId) - return res.sendStatus(HttpStatus.OK) + return res.sendStatus(StatusCodes.OK) } catch (err) { // TODO(#193): Send different error messages according to error. - return res.status(HttpStatus.BAD_REQUEST).send(err.message) + return res.status(StatusCodes.BAD_REQUEST).send(err.message) } } @@ -71,7 +71,7 @@ export const handleContactVerifyOtp: RequestHandler< // Guard against user updating for a different user, or if user is not logged // in. if (!sessionUserId || sessionUserId !== userId) { - return res.status(HttpStatus.UNAUTHORIZED).send('User is unauthorized.') + return res.status(StatusCodes.UNAUTHORIZED).send('User is unauthorized.') } try { @@ -81,25 +81,25 @@ export const handleContactVerifyOtp: RequestHandler< if (err instanceof ApplicationError) { return res.status(err.status).send(err.message) } else { - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(err.message) + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(err.message) } } // No error, update user with given contact. try { const updatedUser = await updateUserContact(contact, userId) - return res.status(HttpStatus.OK).send(updatedUser) + return res.status(StatusCodes.OK).send(updatedUser) } catch (updateErr) { // Handle update error. logger.warn(updateErr) - return res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(updateErr.message) + return res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(updateErr.message) } } export const handleFetchUser: RequestHandler = async (req, res) => { const sessionUserId = getUserIdFromSession(req.session) if (!sessionUserId) { - return res.status(HttpStatus.UNAUTHORIZED).send('User is unauthorized.') + return res.status(StatusCodes.UNAUTHORIZED).send('User is unauthorized.') } // Retrieve user with id in session @@ -114,7 +114,7 @@ export const handleFetchUser: RequestHandler = async (req, res) => { error: dbErr, }) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send('Unable to retrieve user') } diff --git a/src/app/modules/user/user.errors.ts b/src/app/modules/user/user.errors.ts index 764f5c3482..6df7c6d8a8 100644 --- a/src/app/modules/user/user.errors.ts +++ b/src/app/modules/user/user.errors.ts @@ -1,10 +1,10 @@ -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { ApplicationError } from '../core/core.errors' export class InvalidOtpError extends ApplicationError { constructor(message: string, meta?: string) { - super(message, HttpStatus.UNPROCESSABLE_ENTITY, meta) + super(message, StatusCodes.UNPROCESSABLE_ENTITY, meta) } } @@ -13,6 +13,6 @@ export class MalformedOtpError extends ApplicationError { message: string = 'Malformed OTP. Please try again later. If the problem persists, contact us.', meta?: string, ) { - super(message, HttpStatus.INTERNAL_SERVER_ERROR, meta) + super(message, StatusCodes.INTERNAL_SERVER_ERROR, meta) } } diff --git a/src/app/modules/verification/verification.controller.ts b/src/app/modules/verification/verification.controller.ts index 20c0485176..afa51beedd 100644 --- a/src/app/modules/verification/verification.controller.ts +++ b/src/app/modules/verification/verification.controller.ts @@ -1,5 +1,5 @@ import { RequestHandler, Response } from 'express' -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { createLoggerWithLabel } from '../../../config/logger' import { VfnErrors } from '../../../shared/util/verification' @@ -24,8 +24,8 @@ export const createTransaction: RequestHandler< const { formId } = req.body const transaction = await verificationService.createTransaction(formId) return transaction - ? res.status(HttpStatus.CREATED).json(transaction) - : res.sendStatus(HttpStatus.OK) + ? res.status(StatusCodes.CREATED).json(transaction) + : res.sendStatus(StatusCodes.OK) } catch (error) { logger.error({ message: 'Error creating transaction', @@ -50,7 +50,7 @@ export const getTransactionMetadata: RequestHandler<{ const transaction = await verificationService.getTransactionMetadata( transactionId, ) - return res.status(HttpStatus.OK).json(transaction) + return res.status(StatusCodes.OK).json(transaction) } catch (error) { logger.error({ message: 'Error retrieving transaction metadata', @@ -78,7 +78,7 @@ export const resetFieldInTransaction: RequestHandler< const { fieldId } = req.body const transaction = await verificationService.getTransaction(transactionId) await verificationService.resetFieldInTransaction(transaction, fieldId) - return res.sendStatus(HttpStatus.OK) + return res.sendStatus(StatusCodes.OK) } catch (error) { logger.error({ message: 'Error resetting field in transaction', @@ -106,7 +106,7 @@ export const getNewOtp: RequestHandler< const { answer, fieldId } = req.body const transaction = await verificationService.getTransaction(transactionId) await verificationService.getNewOtp(transaction, fieldId, answer) - return res.sendStatus(HttpStatus.CREATED) + return res.sendStatus(StatusCodes.CREATED) } catch (error) { logger.error({ message: 'Error retrieving new OTP', @@ -135,7 +135,7 @@ export const verifyOtp: RequestHandler< const { fieldId, otp } = req.body const transaction = await verificationService.getTransaction(transactionId) const data = await verificationService.verifyOtp(transaction, fieldId, otp) - return res.status(HttpStatus.OK).json(data) + return res.status(StatusCodes.OK).json(data) } catch (error) { logger.error({ message: 'Error verifying OTP', @@ -153,22 +153,22 @@ export const verifyOtp: RequestHandler< * @param res */ const handleError = (error: Error, res: Response) => { - let status = HttpStatus.INTERNAL_SERVER_ERROR + let status = StatusCodes.INTERNAL_SERVER_ERROR let message = error.message switch (error.name) { case VfnErrors.SendOtpFailed: - status = HttpStatus.BAD_REQUEST + status = StatusCodes.BAD_REQUEST break case VfnErrors.WaitForOtp: - status = HttpStatus.ACCEPTED + status = StatusCodes.ACCEPTED break case VfnErrors.ResendOtp: case VfnErrors.InvalidOtp: - status = HttpStatus.UNPROCESSABLE_ENTITY + status = StatusCodes.UNPROCESSABLE_ENTITY break case VfnErrors.FieldNotFound: case VfnErrors.TransactionNotFound: - status = HttpStatus.NOT_FOUND + status = StatusCodes.NOT_FOUND break default: message = 'An error occurred' diff --git a/src/app/modules/verification/verification.factory.ts b/src/app/modules/verification/verification.factory.ts index 98f0ba3034..2327aedeb1 100644 --- a/src/app/modules/verification/verification.factory.ts +++ b/src/app/modules/verification/verification.factory.ts @@ -1,5 +1,5 @@ import { RequestHandler } from 'express' -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import featureManager from '../../../config/feature-manager' import { FeatureNames } from '../../../config/feature-manager/types' @@ -31,15 +31,15 @@ const verifiedFieldsFactory = ({ const errMsg = 'Verified fields feature is not enabled' return { createTransaction: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), getTransactionMetadata: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), resetFieldInTransaction: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), getNewOtp: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), verifyOtp: (req, res) => - res.status(HttpStatus.INTERNAL_SERVER_ERROR).send(errMsg), + res.status(StatusCodes.INTERNAL_SERVER_ERROR).send(errMsg), } } } diff --git a/src/app/modules/webhooks/webhook.errors.ts b/src/app/modules/webhooks/webhook.errors.ts index 2ddd84bbee..a06e37ae02 100644 --- a/src/app/modules/webhooks/webhook.errors.ts +++ b/src/app/modules/webhooks/webhook.errors.ts @@ -1,4 +1,4 @@ -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { ApplicationError } from '../core/core.errors' @@ -8,6 +8,6 @@ import { ApplicationError } from '../core/core.errors' */ export class WebhookValidationError extends ApplicationError { constructor(message: string, meta?: string) { - super(message, HttpStatus.UNPROCESSABLE_ENTITY, meta) + super(message, StatusCodes.UNPROCESSABLE_ENTITY, meta) } } diff --git a/src/app/routes/authentication.server.routes.js b/src/app/routes/authentication.server.routes.js index e46273bd1b..e8884701b0 100755 --- a/src/app/routes/authentication.server.routes.js +++ b/src/app/routes/authentication.server.routes.js @@ -3,7 +3,7 @@ /** * Module dependencies. */ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { celebrate, Joi } = require('celebrate') let auth = require('../../app/controllers/authentication.server.controller') @@ -39,7 +39,7 @@ module.exports = function (app) { }), }), auth.validateDomain, - (_, res) => res.sendStatus(HttpStatus.OK), + (_, res) => res.sendStatus(StatusCodes.OK), ) /** diff --git a/src/loaders/express/error-handler.ts b/src/loaders/express/error-handler.ts index b586ed5a46..8ce0a80746 100644 --- a/src/loaders/express/error-handler.ts +++ b/src/loaders/express/error-handler.ts @@ -1,6 +1,6 @@ import { isCelebrate } from 'celebrate' import { ErrorRequestHandler, RequestHandler } from 'express' -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import get from 'lodash/get' import { createLoggerWithLabel } from '../../config/logger' @@ -43,11 +43,11 @@ const errorHandlerMiddlewares = () => { }, error: err, }) - return res.status(HttpStatus.BAD_REQUEST).send(errorMessage) + return res.status(StatusCodes.BAD_REQUEST).send(errorMessage) } logger.error(err) return res - .status(HttpStatus.INTERNAL_SERVER_ERROR) + .status(StatusCodes.INTERNAL_SERVER_ERROR) .send({ message: genericErrorMessage }) } } @@ -57,7 +57,7 @@ const errorHandlerMiddlewares = () => { _req, res, ) { - res.status(HttpStatus.NOT_FOUND).send() + res.status(StatusCodes.NOT_FOUND).send() } return [genericErrorHandlerMiddleware, catchNonExistentRoutesMiddleware] diff --git a/tests/unit/backend/controllers/admin-forms.server.controller.spec.js b/tests/unit/backend/controllers/admin-forms.server.controller.spec.js index fff894ab1f..070e7991b3 100644 --- a/tests/unit/backend/controllers/admin-forms.server.controller.spec.js +++ b/tests/unit/backend/controllers/admin-forms.server.controller.spec.js @@ -1,4 +1,4 @@ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const dbHandler = require('../helpers/db-handler') @@ -62,7 +62,7 @@ describe('Admin-Forms Controller', () => { return this }) Controller.isFormActive(req, res, () => {}) - expect(res.status).toHaveBeenCalledWith(HttpStatus.NOT_FOUND) + expect(res.status).toHaveBeenCalledWith(StatusCodes.NOT_FOUND) }) it('should pass on to the next middleware if not archived', () => { @@ -84,7 +84,7 @@ describe('Admin-Forms Controller', () => { req.form.responseMode = 'email' Controller.isFormEncryptMode(req, res, next) expect(next).not.toHaveBeenCalled() - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNPROCESSABLE_ENTITY) + expect(res.status).toHaveBeenCalledWith(StatusCodes.UNPROCESSABLE_ENTITY) }) it('should accept forms that are encrypt mode', () => { req.form.responseMode = 'encrypt' @@ -123,7 +123,7 @@ describe('Admin-Forms Controller', () => { it('should return 400 error when form param not supplied', (done) => { req.body.form = null res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.BAD_REQUEST) + expect(res.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) done() return res }) @@ -133,7 +133,9 @@ describe('Admin-Forms Controller', () => { it('should return 405 error when saving a Form object with invalid fields', (done) => { req.body.form = { title: 'bad_form', emails: 'wrongemail.com' } res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNPROCESSABLE_ENTITY) + expect(res.status).toHaveBeenCalledWith( + StatusCodes.UNPROCESSABLE_ENTITY, + ) done() return res }) @@ -177,7 +179,9 @@ describe('Admin-Forms Controller', () => { permissionList: [], } res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNPROCESSABLE_ENTITY) + expect(res.status).toHaveBeenCalledWith( + StatusCodes.UNPROCESSABLE_ENTITY, + ) done() return res }) diff --git a/tests/unit/backend/controllers/authentication.server.controller.spec.js b/tests/unit/backend/controllers/authentication.server.controller.spec.js index 0b8673429e..4f709b3170 100644 --- a/tests/unit/backend/controllers/authentication.server.controller.spec.js +++ b/tests/unit/backend/controllers/authentication.server.controller.spec.js @@ -1,4 +1,4 @@ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const dbHandler = require('../helpers/db-handler') @@ -74,7 +74,7 @@ describe('Authentication Controller', () => { it('should return 401 if not authenticated', (done) => { req.session = null res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNAUTHORIZED) + expect(res.status).toHaveBeenCalledWith(StatusCodes.UNAUTHORIZED) done() return res }) @@ -147,7 +147,7 @@ describe('Authentication Controller', () => { }) it('should not authorize if session user is not a collaborator nor admin', () => { res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.FORBIDDEN) + expect(res.status).toHaveBeenCalledWith(StatusCodes.FORBIDDEN) return res }) // Populate admin with partial user object @@ -259,7 +259,9 @@ describe('Authentication Controller', () => { res.locals.email = req.session.user.email req.body.otp = TEST_OTP res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNPROCESSABLE_ENTITY) + expect(res.status).toHaveBeenCalledWith( + StatusCodes.UNPROCESSABLE_ENTITY, + ) done() return res }) @@ -276,7 +278,9 @@ describe('Authentication Controller', () => { numOtpAttempts: 10, }) res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNPROCESSABLE_ENTITY) + expect(res.status).toHaveBeenCalledWith( + StatusCodes.UNPROCESSABLE_ENTITY, + ) done() return res }) @@ -295,7 +299,7 @@ describe('Authentication Controller', () => { numOtpAttempts: 0, }) res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.UNAUTHORIZED) + expect(res.status).toHaveBeenCalledWith(StatusCodes.UNAUTHORIZED) done() return res }) @@ -388,7 +392,7 @@ describe('Authentication Controller', () => { [mockBetaFlag]: false, } res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.FORBIDDEN) + expect(res.status).toHaveBeenCalledWith(StatusCodes.FORBIDDEN) done() return res }) @@ -398,7 +402,7 @@ describe('Authentication Controller', () => { it('should return 403 when user is undefined', (done) => { req.session.user = undefined res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.FORBIDDEN) + expect(res.status).toHaveBeenCalledWith(StatusCodes.FORBIDDEN) done() return res }) diff --git a/tests/unit/backend/controllers/email-submissions.server.controller.spec.js b/tests/unit/backend/controllers/email-submissions.server.controller.spec.js index 816733ecc1..139d949553 100644 --- a/tests/unit/backend/controllers/email-submissions.server.controller.spec.js +++ b/tests/unit/backend/controllers/email-submissions.server.controller.spec.js @@ -1,4 +1,4 @@ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const { times } = require('lodash') const ejs = require('ejs') const express = require('express') @@ -148,7 +148,7 @@ describe('Email Submissions Controller', () => { request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then(() => { const mailOptions = sendSubmissionMailSpy.calls.mostRecent().args[0] expect(mailOptions).toEqual(fixtures) @@ -166,7 +166,7 @@ describe('Email Submissions Controller', () => { delete fixtures.form.emails request(app) .get(endpointPath) - .expect(HttpStatus.BAD_REQUEST) + .expect(StatusCodes.BAD_REQUEST) .then(done) .catch(done) }) @@ -202,7 +202,7 @@ describe('Email Submissions Controller', () => { request(app) .post(endpointPath) .field('body', JSON.stringify(body)) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect({ body }) .end(done) }) @@ -235,7 +235,7 @@ describe('Email Submissions Controller', () => { .post(endpointPath) .field('body', JSON.stringify(body)) .attach('govtech.jpg', Buffer.alloc(1), 'receiveId') - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect(JSON.stringify({ body: parsedBody })) .end(done) }) @@ -246,7 +246,7 @@ describe('Email Submissions Controller', () => { .post(endpointPath) .field('body', JSON.stringify(body)) .attach('invalid.py', Buffer.alloc(1), 'fieldId') - .expect(HttpStatus.BAD_REQUEST) + .expect(StatusCodes.BAD_REQUEST) .end(done) }) @@ -258,7 +258,7 @@ describe('Email Submissions Controller', () => { .attach('valid.jpg', Buffer.alloc(3000000), 'fieldId1') .attach('valid2.jpg', Buffer.alloc(3000000), 'fieldId2') .attach('valid.jpg', Buffer.alloc(3000000), 'fieldId3') - .expect(HttpStatus.UNPROCESSABLE_ENTITY) + .expect(StatusCodes.UNPROCESSABLE_ENTITY) .end(done) }) @@ -305,7 +305,7 @@ describe('Email Submissions Controller', () => { .field('body', JSON.stringify(body)) .attach('attachment.jpg', Buffer.alloc(1), 'attachment1') .attach('attachment.jpg', Buffer.alloc(1), 'attachment2') - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect(JSON.stringify({ body: parsedBody })) .end(done) }) @@ -355,7 +355,7 @@ describe('Email Submissions Controller', () => { it('parses submissions without files', (done) => { request(app) .post(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect( JSON.stringify({ body: { @@ -425,7 +425,7 @@ describe('Email Submissions Controller', () => { request(app) .post(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect( JSON.stringify({ body: { @@ -528,7 +528,7 @@ describe('Email Submissions Controller', () => { testForm = val return request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then(({ body: submission }) => { console.info() expect(submission.form).toEqual(testForm._id.toString()) @@ -552,7 +552,7 @@ describe('Email Submissions Controller', () => { it('saves non-MyInfo submissions', (done) => { request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then(({ body: submission }) => { expect(submission.form).toEqual(testForm._id.toString()) expect(submission.recipientEmails).toEqual( @@ -584,7 +584,7 @@ describe('Email Submissions Controller', () => { let concatResponse = 'foo bar; checkbox option 1, option 2; number 1; ' request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then(({ body: submission }) => { expect(submission.form).toEqual(testForm._id.toString()) expect(submission.recipientEmails).toEqual( @@ -629,7 +629,7 @@ describe('Email Submissions Controller', () => { 'foo bar; [attachment] Text File file.text; \u0000\u0000\u0000\u0000\u0000' request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then(({ body: submission }) => { expect(submission.form).toEqual(testForm._id.toString()) expect(submission.recipientEmails).toEqual( @@ -683,7 +683,10 @@ describe('Email Submissions Controller', () => { (req, res) => res.status(200).send(), ) - request(badApp).get(endpointPath).expect(HttpStatus.BAD_REQUEST).end(done) + request(badApp) + .get(endpointPath) + .expect(StatusCodes.BAD_REQUEST) + .end(done) }) }) @@ -744,7 +747,7 @@ describe('Email Submissions Controller', () => { const prepareSubmissionThenCompare = (expected, done) => { request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then( ({ body: { formData, autoReplyData, jsonData, replyToEmails } }) => { expect(formData).withContext('Form Data').toEqual(expected.formData) @@ -1560,7 +1563,7 @@ describe('Email Submissions Controller', () => { ] reqFixtures.form.form_fields = fields reqFixtures.body.responses = responses - request(app).get(endpointPath).expect(HttpStatus.CONFLICT).then(done) + request(app).get(endpointPath).expect(StatusCodes.CONFLICT).then(done) }) describe('Logic', () => { @@ -1667,7 +1670,7 @@ describe('Email Submissions Controller', () => { it('rejects submission prevented by single select value', (done) => { // Fulfills condition, hence submission rejected makeSingleSelectFixtures(preventSubmitLogics, 'Yes', true) - expectStatusCodeError(HttpStatus.BAD_REQUEST, done) + expectStatusCodeError(StatusCodes.BAD_REQUEST, done) }) }) @@ -1771,7 +1774,7 @@ describe('Email Submissions Controller', () => { it('rejects submission prevented by number value', (done) => { makeNumberValueFixtures(preventSubmitLogics, '9', true) - expectStatusCodeError(HttpStatus.BAD_REQUEST, done) + expectStatusCodeError(StatusCodes.BAD_REQUEST, done) }) }) @@ -1876,7 +1879,7 @@ describe('Email Submissions Controller', () => { it('rejects submissions prevented by logic', (done) => { makeMultiSelectFixtures(preventSubmitLogics, 'Option 1', true) - expectStatusCodeError(HttpStatus.BAD_REQUEST, done) + expectStatusCodeError(StatusCodes.BAD_REQUEST, done) }) }) @@ -2033,7 +2036,7 @@ describe('Email Submissions Controller', () => { it('rejects submissions prevented by logic', (done) => { makeMultiAndFixtures(preventSubmitLogics, 'Yes', 'Textfield', true) - expectStatusCodeError(HttpStatus.BAD_REQUEST, done) + expectStatusCodeError(StatusCodes.BAD_REQUEST, done) }) }) @@ -2158,7 +2161,7 @@ describe('Email Submissions Controller', () => { it('rejects submission prevented by logic', (done) => { makeOrFixtures(preventSubmitLogics, 'Yes', 'Radiobutton', true) - expectStatusCodeError(HttpStatus.BAD_REQUEST, done) + expectStatusCodeError(StatusCodes.BAD_REQUEST, done) }) }) @@ -2491,7 +2494,7 @@ describe('Email Submissions Controller', () => { true, true, ) - expectStatusCodeError(HttpStatus.BAD_REQUEST, done) + expectStatusCodeError(StatusCodes.BAD_REQUEST, done) }) }) @@ -2857,7 +2860,7 @@ describe('Email Submissions Controller', () => { answer: 'test@abc.com', } fixtures.body.responses.push(response) - sendAndExpect(HttpStatus.OK, { + sendAndExpect(StatusCodes.OK, { body: { parsedResponses: [Object.assign(response, { isVisible: true })], }, @@ -2903,7 +2906,7 @@ describe('Email Submissions Controller', () => { } fixtures.body.responses.push(response) - sendAndExpect(HttpStatus.BAD_REQUEST).end(done) + sendAndExpect(StatusCodes.BAD_REQUEST).end(done) }) }) @@ -2927,7 +2930,7 @@ describe('Email Submissions Controller', () => { } fixtures.body.responses.push(response) - sendAndExpect(HttpStatus.BAD_REQUEST).end(done) + sendAndExpect(StatusCodes.BAD_REQUEST).end(done) }) }) @@ -2949,7 +2952,7 @@ describe('Email Submissions Controller', () => { } fixtures.body.responses.push(response) - sendAndExpect(HttpStatus.BAD_REQUEST).end(done) + sendAndExpect(StatusCodes.BAD_REQUEST).end(done) }) }) @@ -2989,7 +2992,7 @@ describe('Email Submissions Controller', () => { }, ]).then(() => { fixtures.body.responses.push(response) - sendAndExpect(HttpStatus.OK).end(done) + sendAndExpect(StatusCodes.OK).end(done) }) }) }) @@ -3074,7 +3077,7 @@ describe('Email Submissions Controller', () => { fieldValue: 'test@abc.com', fieldIsRequired: false, fieldIsHidden: false, - expectedStatus: HttpStatus.BAD_REQUEST, + expectedStatus: StatusCodes.BAD_REQUEST, done, }) }) @@ -3083,7 +3086,7 @@ describe('Email Submissions Controller', () => { fieldValue: '', fieldIsRequired: false, fieldIsHidden: false, - expectedStatus: HttpStatus.OK, + expectedStatus: StatusCodes.OK, done, }) }) @@ -3092,7 +3095,7 @@ describe('Email Submissions Controller', () => { fieldValue: 'test@abc.com', fieldIsRequired: true, fieldIsHidden: false, - expectedStatus: HttpStatus.BAD_REQUEST, + expectedStatus: StatusCodes.BAD_REQUEST, done, }) }) @@ -3102,7 +3105,7 @@ describe('Email Submissions Controller', () => { fieldValue: '', fieldIsRequired: true, fieldIsHidden: true, - expectedStatus: HttpStatus.OK, + expectedStatus: StatusCodes.OK, done, }) }) diff --git a/tests/unit/backend/controllers/encrypt-submissions.server.controller.spec.js b/tests/unit/backend/controllers/encrypt-submissions.server.controller.spec.js index bf9cc91507..60f54265e7 100644 --- a/tests/unit/backend/controllers/encrypt-submissions.server.controller.spec.js +++ b/tests/unit/backend/controllers/encrypt-submissions.server.controller.spec.js @@ -1,4 +1,4 @@ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const express = require('express') const request = require('supertest') @@ -98,7 +98,7 @@ describe('Encrypt Submissions Controller', () => { formData = 'encryptedContent' request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .then(({ body: submission }) => { expect(submission.form).toEqual(testForm._id.toString()) expect(submission.authType).toEqual('NIL') @@ -171,7 +171,7 @@ describe('Encrypt Submissions Controller', () => { request(app) .post(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect( JSON.stringify({ body: { @@ -197,7 +197,10 @@ describe('Encrypt Submissions Controller', () => { form_fields: [], }).toObject(), } - request(app).post(endpointPath).expect(HttpStatus.BAD_REQUEST).end(done) + request(app) + .post(endpointPath) + .expect(StatusCodes.BAD_REQUEST) + .end(done) }) }) @@ -247,7 +250,7 @@ describe('Encrypt Submissions Controller', () => { } request(app) .post(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .expect( JSON.stringify({ body: { encryptedContent: correctlyEncryptedContent }, @@ -280,7 +283,7 @@ describe('Encrypt Submissions Controller', () => { request(app) .post(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .end((err, res) => { if (err) return done(err) expect(res.body.body).toEqual({ @@ -319,7 +322,7 @@ describe('Encrypt Submissions Controller', () => { request(app) .post(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .end((err, res) => { if (err) return done(err) expect(res.body.body).toEqual({ diff --git a/tests/unit/backend/controllers/forms.server.controller.spec.js b/tests/unit/backend/controllers/forms.server.controller.spec.js index 7b7b6816b7..94afd5eb85 100644 --- a/tests/unit/backend/controllers/forms.server.controller.spec.js +++ b/tests/unit/backend/controllers/forms.server.controller.spec.js @@ -1,4 +1,4 @@ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const { ObjectId } = require('bson-ext') @@ -110,13 +110,13 @@ describe('Form Controller', () => { return res }) Controller.formById(req, res, null, id) - expect(res.status).toHaveBeenCalledWith(HttpStatus.BAD_REQUEST) + expect(res.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) }) it('should return a 404 error if form id is not found', (done) => { req.params.formId = mongoose.Types.ObjectId() res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.NOT_FOUND) + expect(res.status).toHaveBeenCalledWith(StatusCodes.NOT_FOUND) done() return res }) @@ -132,7 +132,7 @@ describe('Form Controller', () => { req.params.formId = invalidForm._id res.status.and.callFake(() => { expect(res.status).toHaveBeenCalledWith( - HttpStatus.INTERNAL_SERVER_ERROR, + StatusCodes.INTERNAL_SERVER_ERROR, ) done() return res diff --git a/tests/unit/backend/controllers/public-forms.server.controller.spec.js b/tests/unit/backend/controllers/public-forms.server.controller.spec.js index 73d2aff076..da933cb960 100644 --- a/tests/unit/backend/controllers/public-forms.server.controller.spec.js +++ b/tests/unit/backend/controllers/public-forms.server.controller.spec.js @@ -1,4 +1,4 @@ -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const dbHandler = require('../helpers/db-handler') @@ -56,7 +56,7 @@ describe('Public-Forms Controller', () => { status: 'PRIVATE', } res.status.and.callFake(() => { - expect(res.status).toHaveBeenCalledWith(HttpStatus.NOT_FOUND) + expect(res.status).toHaveBeenCalledWith(StatusCodes.NOT_FOUND) done() return res }) @@ -135,7 +135,7 @@ describe('Public-Forms Controller', () => { return res }) Controller.submitFeedback(req, res) - expect(res.status).toHaveBeenCalledWith(HttpStatus.BAD_REQUEST) + expect(res.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) }) }) @@ -150,7 +150,7 @@ describe('Public-Forms Controller', () => { } res.status.and.callFake(() => { expect(res.status).toHaveBeenCalledWith( - HttpStatus.INTERNAL_SERVER_ERROR, + StatusCodes.INTERNAL_SERVER_ERROR, ) done() return res @@ -167,7 +167,7 @@ describe('Public-Forms Controller', () => { formId: mongoose.Types.ObjectId(), } res.status.and.callFake((args) => { - expect(args).toBe(HttpStatus.OK) + expect(args).toBe(StatusCodes.OK) return res }) res.send.and.callFake(() => { diff --git a/tests/unit/backend/controllers/spcp.server.controller.spec.js b/tests/unit/backend/controllers/spcp.server.controller.spec.js index 09086d977c..888c0fd132 100644 --- a/tests/unit/backend/controllers/spcp.server.controller.spec.js +++ b/tests/unit/backend/controllers/spcp.server.controller.spec.js @@ -1,5 +1,5 @@ const crypto = require('crypto') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const mongoose = require('mongoose') const dbHandler = require('../helpers/db-handler') @@ -177,22 +177,22 @@ describe('SPCP Controller', () => { it('should return 400 if target not provided', () => { req.query.target = '' Controller.createSpcpRedirectURL(authClients)(req, res, next) - expectResponse(HttpStatus.BAD_REQUEST) + expectResponse(StatusCodes.BAD_REQUEST) }) it('should return 400 if authType not provided', () => { req.query.authType = '' Controller.createSpcpRedirectURL(authClients)(req, res, next) - expectResponse(HttpStatus.BAD_REQUEST) + expectResponse(StatusCodes.BAD_REQUEST) }) it('should return 400 if esrvcId not provided', () => { req.query.esrvcId = '' Controller.createSpcpRedirectURL(authClients)(req, res, next) - expectResponse(HttpStatus.BAD_REQUEST) + expectResponse(StatusCodes.BAD_REQUEST) }) it('should return 400 if authType is NIL', () => { Controller.createSpcpRedirectURL(authClients)(req, res, next) - expectResponse(HttpStatus.BAD_REQUEST) + expectResponse(StatusCodes.BAD_REQUEST) }) it('should return 200 and redirectUrl if authType is SP', () => { req.query.authType = 'SP' @@ -207,7 +207,7 @@ describe('SPCP Controller', () => { Controller.createSpcpRedirectURL(authClients)(req, res, next) expect(next).toHaveBeenCalled() Controller.returnSpcpRedirectURL(req, res) - expectResponse(HttpStatus.OK, expectedUrl) + expectResponse(StatusCodes.OK, expectedUrl) }) it('should return 200 and redirectUrl if authType is CP', () => { req.query.authType = 'CP' @@ -222,7 +222,7 @@ describe('SPCP Controller', () => { Controller.createSpcpRedirectURL(authClients)(req, res, next) expect(next).toHaveBeenCalled() Controller.returnSpcpRedirectURL(req, res) - expectResponse(HttpStatus.OK, expectedUrl) + expectResponse(StatusCodes.OK, expectedUrl) }) }) @@ -270,7 +270,7 @@ describe('SPCP Controller', () => { replyWith('error', {}) Controller.isSpcpAuthenticated(authClients)(req, res, next) expect(next).not.toHaveBeenCalled() - expectResponse(HttpStatus.UNAUTHORIZED, { + expectResponse(StatusCodes.UNAUTHORIZED, { message: 'User is not SPCP authenticated', spcpSubmissionFailure: true, }) @@ -393,35 +393,35 @@ describe('SPCP Controller', () => { it('should return 401 if artifact not provided', () => { req.query.SAMLart = '' Controller.singPassLogin(ndiConfig)(req, res) - expectResponse(HttpStatus.UNAUTHORIZED) + expectResponse(StatusCodes.UNAUTHORIZED) }) it('should return 400 if relayState not provided', () => { req.query.RelayState = '' Controller.singPassLogin(ndiConfig)(req, res) - expectResponse(HttpStatus.BAD_REQUEST) + expectResponse(StatusCodes.BAD_REQUEST) }) it('should return 401 if artifact is invalid', () => { req.query.SAMLart = '123456789' Controller.singPassLogin(ndiConfig)(req, res) - expectResponse(HttpStatus.UNAUTHORIZED) + expectResponse(StatusCodes.UNAUTHORIZED) }) it('should return 400 if relayState is invalid format', () => { req.query.RelayState = '/invalidRelayState' Controller.singPassLogin(ndiConfig)(req, res) - expectResponse(HttpStatus.BAD_REQUEST) + expectResponse(StatusCodes.BAD_REQUEST) }) it('should return 404 if relayState has valid format but invalid formId', (done) => { req.query.RelayState = '/123,false' - expectBadRequestOnLogin(HttpStatus.NOT_FOUND, done) + expectBadRequestOnLogin(StatusCodes.NOT_FOUND, done) }) it('should return 401 if relayState has valid format but belongs to non SP form', (done) => { req.query.RelayState = `$/{testForm._id},false` - expectBadRequestOnLogin(HttpStatus.UNAUTHORIZED, done) + expectBadRequestOnLogin(StatusCodes.UNAUTHORIZED, done) }) it('should redirect to relayState with login error if getAttributes returns relayState only', (done) => { diff --git a/tests/unit/backend/controllers/submissions.server.controller.spec.js b/tests/unit/backend/controllers/submissions.server.controller.spec.js index 95953a565f..4b266d9d39 100644 --- a/tests/unit/backend/controllers/submissions.server.controller.spec.js +++ b/tests/unit/backend/controllers/submissions.server.controller.spec.js @@ -1,6 +1,6 @@ const MockAdapter = require('axios-mock-adapter') const axios = require('axios') -const HttpStatus = require('http-status-codes') +const { StatusCodes } = require('http-status-codes') const ejs = require('ejs') const express = require('express') const request = require('supertest') @@ -104,12 +104,12 @@ describe('Submissions Controller', () => { it('passes through on no form captcha', (done) => { answerCaptchaWith(new Error()) hasCaptcha = false - request(app).post(endpointPath).expect(HttpStatus.OK).end(done) + request(app).post(endpointPath).expect(StatusCodes.OK).end(done) }) it('errors with 400 on no captcha response', (done) => { answerCaptchaWith(new Error()) - request(app).post(endpointPath).expect(HttpStatus.BAD_REQUEST).end(done) + request(app).post(endpointPath).expect(StatusCodes.BAD_REQUEST).end(done) }) it('errors with 500 if no captcha private key', (done) => { @@ -206,7 +206,7 @@ describe('Submissions Controller', () => { testFn(mail) }) - request(app).get(endpointPath).expect(HttpStatus.OK).end(done) + request(app).get(endpointPath).expect(StatusCodes.OK).end(done) } it( @@ -259,7 +259,7 @@ describe('Submissions Controller', () => { mockSendNodeMail.calls.reset() request(app) .get(endpointPath) - .expect(HttpStatus.OK) + .expect(StatusCodes.OK) .end(() => { expect(mockSendNodeMail).not.toHaveBeenCalled() done() @@ -314,7 +314,7 @@ describe('Submissions Controller', () => { request(app) .get(endpointPath) - .expect(HttpStatus.INTERNAL_SERVER_ERROR) + .expect(StatusCodes.INTERNAL_SERVER_ERROR) .end((err) => { // Restore Submission.countDocuments before passing on any errors Submission.countDocuments = originalSubmissionCountDoc diff --git a/tests/unit/backend/modules/bounce/bounce.controller.spec.ts b/tests/unit/backend/modules/bounce/bounce.controller.spec.ts index 8ecc959942..e76d0b3700 100644 --- a/tests/unit/backend/modules/bounce/bounce.controller.spec.ts +++ b/tests/unit/backend/modules/bounce/bounce.controller.spec.ts @@ -1,4 +1,4 @@ -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import expressHandler from 'tests/unit/backend/helpers/jest-express' import { mocked } from 'ts-jest/utils' @@ -25,7 +25,7 @@ describe('handleSns', () => { MOCK_REQ.body, ) expect(MockBounceService.updateBounces).not.toHaveBeenCalled() - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.FORBIDDEN) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.FORBIDDEN) }) it('should call updateBounces when requests are valid', async () => { @@ -37,7 +37,7 @@ describe('handleSns', () => { MOCK_REQ.body, ) expect(MockBounceService.updateBounces).toHaveBeenCalledWith(MOCK_REQ.body) - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.OK) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.OK) }) it('should return 400 when errors are thrown in isValidSnsRequest', async () => { @@ -49,7 +49,7 @@ describe('handleSns', () => { MOCK_REQ.body, ) expect(MockBounceService.updateBounces).not.toHaveBeenCalled() - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.BAD_REQUEST) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) }) it('should return 400 when errors are thrown in updateBounces', async () => { @@ -64,6 +64,6 @@ describe('handleSns', () => { MOCK_REQ.body, ) expect(MockBounceService.updateBounces).toHaveBeenCalledWith(MOCK_REQ.body) - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.BAD_REQUEST) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) }) }) diff --git a/tests/unit/backend/modules/user/user.controller.spec.ts b/tests/unit/backend/modules/user/user.controller.spec.ts index 17f5c090b8..d057cfdc02 100644 --- a/tests/unit/backend/modules/user/user.controller.spec.ts +++ b/tests/unit/backend/modules/user/user.controller.spec.ts @@ -1,4 +1,4 @@ -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import { mocked } from 'ts-jest/utils' import SmsFactory from 'src/app/factories/sms.factory' @@ -56,7 +56,7 @@ describe('user.controller', () => { expectedOtp, MOCK_REQ.body.userId, ) - expect(mockRes.sendStatus).toBeCalledWith(HttpStatus.OK) + expect(mockRes.sendStatus).toBeCalledWith(StatusCodes.OK) }) it('should return 401 when user id is not in session', async () => { @@ -78,7 +78,7 @@ describe('user.controller', () => { // Assert // Should trigger unauthorized response. - expect(mockRes.status).toBeCalledWith(HttpStatus.UNAUTHORIZED) + expect(mockRes.status).toBeCalledWith(StatusCodes.UNAUTHORIZED) expect(mockRes.send).toBeCalledWith('User is unauthorized.') // Service functions should not be called. expect(MockUserService.verifyContactOtp).not.toHaveBeenCalled() @@ -109,7 +109,7 @@ describe('user.controller', () => { // Assert // Should trigger unauthorized response. - expect(mockRes.status).toBeCalledWith(HttpStatus.UNAUTHORIZED) + expect(mockRes.status).toBeCalledWith(StatusCodes.UNAUTHORIZED) expect(mockRes.send).toBeCalledWith('User is unauthorized.') // Service functions should not be called. expect(MockUserService.verifyContactOtp).not.toHaveBeenCalled() @@ -129,7 +129,7 @@ describe('user.controller', () => { await UserController.handleContactSendOtp(MOCK_REQ, mockRes, jest.fn()) // Assert - expect(mockRes.status).toBeCalledWith(HttpStatus.BAD_REQUEST) + expect(mockRes.status).toBeCalledWith(StatusCodes.BAD_REQUEST) expect(mockRes.send).toBeCalledWith(expectedError.message) // Service functions should not be called. expect(MockUserService.verifyContactOtp).not.toHaveBeenCalled() @@ -148,7 +148,7 @@ describe('user.controller', () => { await UserController.handleContactSendOtp(MOCK_REQ, mockRes, jest.fn()) // Assert - expect(mockRes.status).toBeCalledWith(HttpStatus.BAD_REQUEST) + expect(mockRes.status).toBeCalledWith(StatusCodes.BAD_REQUEST) expect(mockRes.send).toBeCalledWith(expectedError.message) // Service functions should not be called. expect(MockUserService.verifyContactOtp).not.toHaveBeenCalled() @@ -199,7 +199,7 @@ describe('user.controller', () => { MOCK_REQ.body.contact, MOCK_REQ.body.userId, ) - expect(mockRes.status).toBeCalledWith(HttpStatus.OK) + expect(mockRes.status).toBeCalledWith(StatusCodes.OK) expect(mockRes.send).toBeCalledWith(MOCK_UPDATED_USER) }) @@ -223,7 +223,7 @@ describe('user.controller', () => { // Assert // Should trigger unauthorized response. - expect(mockRes.status).toBeCalledWith(HttpStatus.UNAUTHORIZED) + expect(mockRes.status).toBeCalledWith(StatusCodes.UNAUTHORIZED) expect(mockRes.send).toBeCalledWith('User is unauthorized.') // Service functions should not be called. expect(MockUserService.verifyContactOtp).not.toHaveBeenCalled() @@ -255,7 +255,7 @@ describe('user.controller', () => { // Assert // Should trigger unauthorized response. - expect(mockRes.status).toBeCalledWith(HttpStatus.UNAUTHORIZED) + expect(mockRes.status).toBeCalledWith(StatusCodes.UNAUTHORIZED) expect(mockRes.send).toBeCalledWith('User is unauthorized.') // Service functions should not be called. expect(MockUserService.verifyContactOtp).not.toHaveBeenCalled() @@ -276,7 +276,7 @@ describe('user.controller', () => { await UserController.handleContactVerifyOtp(MOCK_REQ, mockRes, jest.fn()) // Assert - expect(mockRes.status).toBeCalledWith(HttpStatus.INTERNAL_SERVER_ERROR) + expect(mockRes.status).toBeCalledWith(StatusCodes.INTERNAL_SERVER_ERROR) expect(mockRes.send).toBeCalledWith(expectedError.message) expect(MockUserService.verifyContactOtp).toHaveBeenCalledTimes(1) expect(MockUserService.updateUserContact).toHaveBeenCalledTimes(1) @@ -313,7 +313,7 @@ describe('user.controller', () => { await UserController.handleContactVerifyOtp(MOCK_REQ, mockRes, jest.fn()) // Assert - expect(mockRes.status).toBeCalledWith(HttpStatus.INTERNAL_SERVER_ERROR) + expect(mockRes.status).toBeCalledWith(StatusCodes.INTERNAL_SERVER_ERROR) expect(mockRes.send).toBeCalledWith(expectedError.message) expect(MockUserService.verifyContactOtp).toHaveBeenCalledTimes(1) expect(MockUserService.updateUserContact).not.toHaveBeenCalled() @@ -367,7 +367,7 @@ describe('user.controller', () => { // Assert // Should trigger unauthorized response. - expect(mockRes.status).toBeCalledWith(HttpStatus.UNAUTHORIZED) + expect(mockRes.status).toBeCalledWith(StatusCodes.UNAUTHORIZED) expect(mockRes.send).toBeCalledWith('User is unauthorized.') }) @@ -381,7 +381,7 @@ describe('user.controller', () => { await UserController.handleFetchUser(MOCK_REQ, mockRes, jest.fn()) // Assert - expect(mockRes.status).toBeCalledWith(HttpStatus.INTERNAL_SERVER_ERROR) + expect(mockRes.status).toBeCalledWith(StatusCodes.INTERNAL_SERVER_ERROR) expect(mockRes.send).toBeCalledWith('Unable to retrieve user') }) }) diff --git a/tests/unit/backend/modules/verification/verification.controller.spec.ts b/tests/unit/backend/modules/verification/verification.controller.spec.ts index dd4c9e17b7..6de8a16cfc 100644 --- a/tests/unit/backend/modules/verification/verification.controller.spec.ts +++ b/tests/unit/backend/modules/verification/verification.controller.spec.ts @@ -1,5 +1,5 @@ import { ObjectId } from 'bson' -import HttpStatus from 'http-status-codes' +import { StatusCodes } from 'http-status-codes' import mongoose from 'mongoose' import { mocked } from 'ts-jest/utils' @@ -52,7 +52,7 @@ describe('Verification controller', () => { expect(MockVfnService.createTransaction).toHaveBeenCalledWith( MOCK_FORM_ID, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.CREATED) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.CREATED) expect(MOCK_RES.json).toHaveBeenCalledWith(returnValue) }) @@ -62,7 +62,7 @@ describe('Verification controller', () => { expect(MockVfnService.createTransaction).toHaveBeenCalledWith( MOCK_FORM_ID, ) - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.OK) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.OK) }) }) @@ -89,7 +89,7 @@ describe('Verification controller', () => { expect(MockVfnService.getTransactionMetadata).toHaveBeenCalledWith( MOCK_TRANSACTION_ID, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.OK) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.OK) expect(MOCK_RES.json).toHaveBeenCalledWith(transaction) }) @@ -103,7 +103,7 @@ describe('Verification controller', () => { expect(MockVfnService.getTransactionMetadata).toHaveBeenCalledWith( MOCK_TRANSACTION_ID, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.NOT_FOUND) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.NOT_FOUND) expect(MOCK_RES.json).toHaveBeenCalledWith(notFoundError) }) }) @@ -132,7 +132,7 @@ describe('Verification controller', () => { transaction, MOCK_FIELD_ID, ) - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.OK) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.OK) }) it('should return 404 when service throws error', async () => { @@ -145,7 +145,7 @@ describe('Verification controller', () => { expect(MockVfnService.getTransaction).toHaveBeenCalledWith( MOCK_TRANSACTION_ID, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.NOT_FOUND) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.NOT_FOUND) expect(MOCK_RES.json).toHaveBeenCalledWith(notFoundError) }) }) @@ -175,7 +175,7 @@ describe('Verification controller', () => { MOCK_FIELD_ID, MOCK_ANSWER, ) - expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(HttpStatus.CREATED) + expect(MOCK_RES.sendStatus).toHaveBeenCalledWith(StatusCodes.CREATED) }) it('should return 404 when service throws not found error', async () => { @@ -193,7 +193,7 @@ describe('Verification controller', () => { MOCK_FIELD_ID, MOCK_ANSWER, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.NOT_FOUND) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.NOT_FOUND) expect(MOCK_RES.json).toHaveBeenCalledWith(notFoundError) }) @@ -212,7 +212,7 @@ describe('Verification controller', () => { MOCK_FIELD_ID, MOCK_ANSWER, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.ACCEPTED) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.ACCEPTED) expect(MOCK_RES.json).toHaveBeenCalledWith(waitOtpError) }) @@ -231,7 +231,7 @@ describe('Verification controller', () => { MOCK_FIELD_ID, MOCK_ANSWER, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.BAD_REQUEST) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) expect(MOCK_RES.json).toHaveBeenCalledWith(sendOtpError) }) }) @@ -263,7 +263,7 @@ describe('Verification controller', () => { MOCK_FIELD_ID, MOCK_OTP, ) - expect(MOCK_RES.status).toHaveBeenCalledWith(HttpStatus.OK) + expect(MOCK_RES.status).toHaveBeenCalledWith(StatusCodes.OK) expect(MOCK_RES.json).toHaveBeenCalledWith(MOCK_DATA) }) @@ -283,7 +283,7 @@ describe('Verification controller', () => { MOCK_OTP, ) expect(MOCK_RES.status).toHaveBeenCalledWith( - HttpStatus.UNPROCESSABLE_ENTITY, + StatusCodes.UNPROCESSABLE_ENTITY, ) expect(MOCK_RES.json).toHaveBeenCalledWith(invalidOtpError) })