2014-09-02 18 views

Odpowiedz

1

To zależy od sposobu wdrożenia sesji.

W moim app Sails, po uwierzytelnieniu, ustawić req.session.authenticated = true wraz z ciasteczek itp Jedną rzeczą, jaką można zrobić, jeśli robisz coś podobnego jest w trasie /login dodać:

if (process.env.NODE_ENV === 'test') { 
    req.session.authenticated = true; 
    // do what you would do next after authentication 
} else { 
    // do normal login procedures 
} 

Następnie w swoich badaniach, w haku before, można użyć superagent, aby złożyć zamówienie na trasie /login uwierzytelnić:

describe('MyController', function() { 
    var agent; 

    before(function (done) { 
    agent = require('superagent').agent('YOUR_APP_URL'); 

    // authenticate 
    agent 
     .post('/login') 
     .end(done) 
    }); 

    // in your tests, use the same agent to make future requests 
    describe('#someAction', function() { 
    it('should do something', function(done) { 
     agent. 
     .post('someAction') 
     .end(function (err, res) { 
      // should work! 
     }); 
    }); 
    }); 
}); 

to tylko pomysł - można dostosować to podejście jednak jesteś checki ng sesji. Działa to w mojej aplikacji Sails przy użyciu Mocha do testów.