-4

I am new to js trying to learn supertest and stuck in this error.

import { describe } from "mocha";
import supertest from "supertest";
import { expect } from "chai";

const request = supertest('https://gorest.co.in/public/v2/');

const api_token = '45faa1e4b06b3cc1d5ecfbe639235376838cf638c85f88cb9bcc04e954bbf77f';

describe('GET /user' , () =>{
  it('fetching user details', (done) =>{
    request.get(`users?access-token=${api_token}`).end((err,res), () =>{
       console.log(err);
        console.log(res.body);  
       // expect(res.body).to.not.be.empty;
       done();

    })
  })
})

Getting an error with message err is not defined. enter image description here

Saeed Zhiany
  • 2,051
  • 9
  • 30
  • 41

2 Answers2

1

You are not declaring the callback correctly.

Change this:

request.get(`users?access-token=${api_token}`).end((err,res), () =>{

to this:

request.get(`users?access-token=${api_token}`).end((err,res) =>{

The error occurs because you try to pass (err, res) all by itself as an argument to .end(), but neither of those variables exist in the current scope so you get a ReferenceError on the first one.

jfriend00
  • 683,504
  • 96
  • 985
  • 979
1

Your syntax for passing callback function is incorrect. end() takes one callback function so you need to change .end((err,res), () =>{ to .end((err,res) =>{

Nitin Ramnani
  • 314
  • 1
  • 7