Supertest: Type Error: res.status is not a function supertest

Created on 7 Sep 2019  路  4Comments  路  Source: visionmedia/supertest

`TypeError: res.status is not a function

  49 |     })
  50 |     .catch(error => {
> 51 |       return res.status(400).json({
     |                  ^
  52 |         success: false,
  53 |         error,
  54 |         results: null

  at status (Routes/Controllers/auth/index.js:51:18)`

router.post('/signup', (req, res) => {
let validate = ajv.compile(signupSchema);
let valid = validate(req.body);
if (!valid) {
return res.status(400).json({
success: false,
error: sumErrors(validate.errors),
results: null
});
}
auth
.signup(req.body)
.then(results => {
console.log(res.json);
return res.status(200).json({
success: true,
error: null,
results
});
})
.catch(error => {
return res.status(400).json({
success: false,
error,
results: null
});
});
});

Link to the project online-judge

When testing, with supertest this problem seems to exist.

But the same code works perfectly fine when I start the server manually using npm start and when requests are sent using postman.

Most helpful comment

It happens when you try to test the express.Router() instance.
Using express() instead of express.Router() solved my problem.

All 4 comments

Maybe you have to mock the response function.

One example:

beforeAll(async () => {
    const res = jest.fn(() => {
        status: jest.fn(() => {
            send: jest.fn()
        })
    })
})

Maybe you have to mock the response function.

One example:

beforeAll(async () => {
    const res = jest.fn(() => {
      status: jest.fn(() => {
          send: jest.fn()
      })
    })
})

But is'nt this supposed to work even without mocking..
I have the link for the project if u want
online-judge

@NBNARADHYA are you still experiencing this issue? How exactly are you using supertest?

It happens when you try to test the express.Router() instance.
Using express() instead of express.Router() solved my problem.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

EverettQuebral picture EverettQuebral  路  3Comments

nitrocode picture nitrocode  路  4Comments

bookercodes picture bookercodes  路  5Comments

DeaconDesperado picture DeaconDesperado  路  6Comments

jon301 picture jon301  路  5Comments