Я использую mocha и chai для тестирования всех REST-API в моем проекте.
Проблема заключается в том, что для регистрации пользователя я отправляю код активации на электронный адрес пользователя.
Поэтому для проверки "Активация" API call ", мне нужно вручную ввести код активации в консоли.
Но это делает тест go несвоевременным.
Мое временное решение:
describe('User API calls', function () {
this.timeout(30000);
it('should should successfully activate user', done => { //Needs user intervention
console.log('You have less than 30 seconds to enter!');
const activationCode = readlineSync.question('What is the activation code? ');
chai.request(configs.url)
.get('/user/activation')
.query({'code': activationCode})
.end((err, res) => {
expect(res.body).to.haveOwnProperty('success');
done();
});
});
}
Это имеет очевидное ограничение, хотя, если мне потребуется более 30 секунд для ввода кода активации на консоли, тест не пройден из-за тайм-аута.
Может кто-нибудь предложить решение или лучший обходной путь?