I am writing unit test case for the promised Ajax call function which written commonly to handle all Ajax calls. When i'm trying to stub this common function. My stubbed Promise not resolving and not coming inside the then statement and not calling the success callback function given inside then statement.
function ajaxCallPromise() {
return new Promise((resolve, reject) => {
$.ajax({
url: url,
type: 'GET,
success: function (data) {
resolve(data)
},
error: function (error) {
reject(error)
},
})
})
}
// Calling the promised Ajax function here
ajaxCallPromise()
.then((data) => {
console.log(data)
doSomethingElse()
})
.catch((error) => {
console.log(error)
})
Jsunit stubbing here
it('should ajax components', function (done) {
var newPromise = new Promise(resolve => {
resolve(socialJson);
});
var resolveStub = sinon.stub(window, 'ajaxCallPromise');
resolveStub.returns(newPromise);
// Calling the promised function
window.ajaxCallPromise();
});
After stubbing doSomethingElse callback is not calling here