Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

170
Visualizações
Burlarse del objeto req.user para las pruebas de MochaJS

En una de mis rutas de ExpressJS, estoy usando la estrategia de portador HTTP y la estrategia local de PassportJS juntas. Significa que el usuario debe iniciar sesión y debe tener un token de portador para llegar a esa ruta.

 function isLoggedIn(req, res, next) { // if user is authenticated in the session, carry on if (req.isAuthenticated()) return next(); // if they aren't redirect them to the home page res.redirect('/login'); } app.route('/api/someaction') .get(passport.authenticate('bearer', { session: false }), isLoggedIn, function(req, res, next) { console.log(req.user.userID); });

Cuando busco esta ruta con mi navegador o con Postman (después de configurar las cookies para la estrategia local), funciona como se esperaba.

Ahora necesito escribir pruebas de integración para esta ruta con MochaJS/ChaiJS. Este es mi archivo de prueba:

 var server = require('../app.js'); var chai = require('chai'); var chaiHttp = require('chai-http'); var should = chai.should(); var expect = chai.expect; chai.use(chaiHttp); describe('...', () => { it('...', (done) => { chai.request(server) .get('/api/someaction') .set('Authorization', 'Bearer 123') .end((err, res) => { // asserts here done(); }); }); });

Al probar este archivo con MochaJS, req.user.userID en /api/someaction siempre está indefinido.

¿Cómo puedo burlarme de las estrategias de PassportJS para obtener un objeto req.user dentro de la ruta?

about 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda