Получение TypeError при попытке вызвать URL сервера в тесте Mocha - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь провести модульное тестирование API, который выполняет регистрацию пользователя.Но получая,

 TypeError: "string" must be a string, Buffer, or ArrayBuffer

Это мой кодовый блок,

describe("User registration unit test", ()=>{
  it("The users should be able to register with proper credentials", ()=>{
    return chai.request(testServer)
              .post("/api/auth/register")
              .set("Content-Type", "application/x-www-form-url-encoded")
              .send({
                "name": "Jithin333",
                "email": "jtihin324@gmail.com",
                "password": "Jithin12!",
                "role": "user"
              }).then((res)=> {
                expect(res).to.have.status(201);
                done();
              })
  });
});

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Привет нашел ответ добавить JSON.stringify и удалить done () должно работать

 it("The users should be able to register with proper credentials", ()=>{
    return chai.request(testServer)
              .post("/api/auth/register")
              .set("Content-Type", "application/json")
              .send(JSON.stringify({
                "name": "Jithin",
                "email": "jtihindr1@gmail.com",
                "password": "Jithin12!",
                "role": "user"
              })).then((res)=> {
                expect(res).to.have.status(201);
      });
0 голосов
/ 01 апреля 2019

Я думаю, вы должны передать строку, чтобы отправить не объект.Попробуйте JSON.stringification объекта, прежде чем передать его для отправки.Как ниже.

describe("User registration unit test", ()=>{
  it("The users should be able to register with proper credentials", ()=>{
    return chai.request(testServer)
              .post("/api/auth/register")
              .set("Content-Type", "application/json")
              .send({
                "name": "Jithin333",
                "email": "jtihin324@gmail.com",
                "password": "Jithin12!",
                "role": "user"
              }).then((res)=> {
                expect(res).to.have.status(201);
              });
  });
});
...