Как провести интеграционное тестирование стратегии Twitter для passport.js, реализованной в express.js?
Как вы можете проверить это как часть типичной реализации Mocha/Supertest?
1 ответ
Решение
Я не знаю, насколько это надежно, но было довольно легко создать поддельную учетную запись Twitter и смоделировать поток с помощью Zombie:
describe('GET /auth/twitter', function(){
it('should redirect to /account', function(done){
this.timeout(20e3)
var zombie = new Zombie()
zombie.visit(url.resolve(YOUR_HOST, '/auth/twitter'), function(err){
if (err) throw err
zombie
.fill('#username_or_email', 'YOUR_USERNAME')
.fill('#password', 'YOUR_PASSWORD')
.pressButton('#allow', function(err){
if (err) throw err
zombie.clickLink('.maintain-context', function(err){
if (err) throw err
// Signed in! Do some assertions here.
return done()
})
})
})
})
})