У меня есть служба, которая вызывает функцию, я пишу тест для этой службы, и мне нужно заблокировать функцию внутри этой службы, эта функция имеет обратный вызов вместо возврата обещания.когда я делаю заглушку для этого, я даю фиктивный возврат, но он зависает, так как сервис ожидает обратного вызова, вот мой код для теста
describe('Testing Token Service', () => {
let _stub =null;
beforeEach(async()=>{
_stub = sinon.stub(tModel.prototype, "save")
})
afterEach(async()=>{
if(_stub){
_stub.restore()
}
})
it('testing function saveToken_mongo() ', (done) => {
_stub.returns(Promise.resolve( {'status' : 'true'} ))
token_service.saveToken_mongo({},function(err, data){
console.log(err, data)
done();
})
// done()
}); });
, а вот сервисная функция, для которой я пишу тест
Service.prototype.saveToken_mongo = function(token, callback){
var _token = new tModel( token ) ;
_token.save(function(err, data){
if(err){
callback(err, null);
return ;
}
else{
callback(null, {'status':true})
return ;
}
}) }
Мне нужно сделать обратный возврат из этой функции с помощью заглушки.