W tej chwili próbuję przetestować kontrolerów i muszę uzyskać dostęp sesji, dowiedziałem się, że można zalogować się przy użyciu superagent, ale moja jedyna opcja do logowania do sieci Aplikacja jest przez google oauth, a teraz nie mogę znaleźć żadnych odpowiednich próbek do testowania z Mocha. Jakaś pomoc?Jak testować google google oauth paszport w żagle js z Mocha
6
A
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.