2014-12-05 5 views
5

con Supertest, posso testare il codice di reindirizzamento 302Supertest: verificare l'URL di reindirizzamento

var request = require('supertest'); 
var app = require('../server').app; 

describe('test route', function(){ 
    it('return 302', function(done){ 
    request(app) 
     .get('/fail_id') 
     .expect(302, done); 
    }); 
    it('redirect to /'); 
}); 

come posso verificare l'URL scopo principale per reindirizzare?

risposta

4
it('redirect to /', function(done){ 
    request(app) 
     .get('/fail_id') 
     .expect('Location', /\//, done); 
    }); 
5

@ risposta di JuanPablo è sulla strada giusta (gioco di parole), ma sarà adattarsi a qualsiasi posizione con / ovunque.

Si vuole fare in modo che non v'è nulla in seguito alla / utilizzando il carattere di fine linea $, e che i caratteri precedenti al / sono ciò che ci si aspetta. Segue un esempio rapido e sporco:

it('redirect to /', function(done){ 
    request(app) 
    .get('/fail_id') 
    .expect('Location', /\.com\/$/, done); 
}); 
Problemi correlati