Super prueba, prueba segura REST API

Estoy escribiendo una prueba de integración para una API REST protegida por unjwt. Una operación de API POST/user/token está devolviendo unjwt dado unusername y unpassword y este token se usa para una lista de operaciones como:

GET /user/:id

Dónde está usando la rutajwt({secret: secret.secretToken}), por lo que el token se incluye en el encabezado httpAuthorization.

Cuando pruebo con supertest, puedo tener pruebas anidadas pero primero quiero obtener el token, luego usar este token para otras pruebas de operación.

POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`

Cómo evitar generar un nuevo token para cada prueba de operación (ver a continuación), pero use solo uno generado por POST / user / token.

it('should get a valid token for user: user1', function(done) { 
  request(url)
    .post('/user/token')
    .send({ _id: user1._id, password: user1.password })
    .expect(200) // created
      .end(function(err, res) {
        // test operation GET /user/:id

Respuestas a la pregunta(2)

Su respuesta a la pregunta