2017-05-24 10 views
0

私は約束してサービスコールを行い、以下の機能、および.finallyていますジャスミン - `.then`と` .finally`をcallFakeのスパイでチェーンする方法は?

myService.getStuff().then(function() { 
    this.doStuffWhenServiceOK(); 
}, function() { 
    this.doStuffWhenServiceFails(); 
}).finally(function() { 
    this.doFinally(); 
}); 

私は、次のスパイで、このサービスをスパイしています:

spyOn(myService, 'getStuff').and.callFake(function() { 
    return { 
    then: function (succesFn, errorFn) { 
     return succesFn(); 
    } 
    }; 
}); 

問題はありますテストでは.finallyが不明であると不平を言う。ただ、

return { 
    then: function(successFn) { 
    return successFn(); 
    }, 
    finally: function(successFn) { 
    return successFn(); 
    } 
} 

知っているかにチェーン.then.finallycallFakeスパイで...解決策ではないようです.then後にそれを追加しますか?

私は角度1で作業します。

答えて

0

finally関数を返します。

function then(succesFn, errorFn) { 
    succesFn(); 
    return {finally:function() {}}; 
} 
関連する問題