sinonStub.called печатает false, хотя я вызываю функцию - PullRequest
0 голосов
/ 07 мая 2019

Я запускаю тест на приложении js узла, используя sinon.Я хочу, чтобы sinonStub.called был true, но это печатает false.Я вызываю функцию косвенно (вызов функции внутри функции).Ниже приведен фрагмент кода

spec.js

describe.only('creating stub for Accounts method',function(){
   mockResponse=
        [
         {
         "AccountID": "xyz",
           ....
         }
         ]

        req1= {
            user:{
                id:""
            },
       },

       res1= {
       json:sinon.spy()//Is this correct
       }

     it('should call  getActivatedAccounts and always this mock response',function(){
        var getAccountsStub=sinon.stub(devices,'getAccounts').returns(mockResponse);
        devices.getActivatedResponse(req1,res1);

        console.log(getAccountsStub.called);//I expect this to be called
    })    

Actual.js

function getActivatedResponse(req, res) {

    if (!req.user || !req.user.id) {
      let reply = {
        status : "SUCCESS",
        data : []
      }
      res.json(reply);
      //console.log(reply);
    } else {
      getActivatedAccounts(req.user.id).then(
        function(reply) { 
          res.json(reply);
        },
        function(error) {
          console.log(error);
        }
      );
    }
function getAccounts(Id){
....
....
returns promise;
}


...