Внутри приложения метеора я хочу протестировать некоторые остальные функции, поэтому мне нужно выполнить некоторую аутентификацию.
В моем тестовом примере я хочу вернуть некоторые данные аутентификации из функции:
const supertest = require('supertest');
function loginUser(auth) {
return function(done) {
request
.post('/users/login')
.send({
username: 'user'
password: '123',
})
.expect(200)
.end(onResponse);
function onResponse(err, res) {
auth.token = res.body.token;
return done();
}
};
}
внутри этого теста:
it('auth test by helper function', function () {
let auth = {};
auth = loginUser(auth)(done);
//access auth settings here like:
//auth.token
});
onResponse
никогда не вызывается, а auth
всегда {}
Я использую супертест для запросов 3.0.0 и мокко 4.1.0 в качестве тестраннера (остальное API просто: json-маршруты)
ОБНОВЛЕНИЕ
Кажется, что функция return (done) никогда не вызывается...
Хорошо, я исправил вызов auth = loginUser(auth)(done);
Теперь вызов выполнен, но auth
не определено после вызова