Cuando utilicé el siguiente código, el error que se muestra espera no está definido (dentro de entonces)

Documentación enlace

it("should return error", function () {
  return request(app).get("/verify")
    .expect(200)
    .then(function (res) {
      return expect(res.body.error[0].message).to.equal("NEW_CODE_REQUIRED");
    });
});

¿Cómo puedo verificar esto?

0
Shaishab Roy 2 sep. 2016 a las 10:43

2 respuestas

La mejor respuesta

Lo resolví siguiendo el proceso. Se agregó una función para verificar el error esperado que devuelve un error si obtiene un valor inesperado y esta función se llama desde .expect()

function checkErrorMessage(res) { // this function throw error if got unexpected result
   if(res.body.error[0].message === 'NEW_CODE_REQUIRED') {
     return false; // return false means no error (got expected result)
   } else {
     return true; // return true means return error (got unexpected result)
   }
}

it("should return error", function () {
  return request(app).get("/verify")
    .expect(200)
    .expect(checkErrorMessage);
});
0
Shaishab Roy 2 sep. 2016 a las 08:22

Es un poco un descuido de la documentación sin mencionar que no se incluye una función expect independiente en el paquete.

Para eso, debe usar un paquete separado, como chai:

const expect = require('chai').expect;
...
0
robertklep 2 sep. 2016 a las 07:51