Estoy tratando de burlarme del ajax pero no funciona. He intentado varias cosas pero no ayuda.
el escenario del código es como. Nombre de archivo: prueba.js
import {ajax} from 'jquery'; const someFunction = param => new Promise((resolve) => { ajax({ method: 'GET', cache: false, url: `someurl/url`, success: (response) => { resolve(response); }, error: () => resolve(null), }); }); export {someFunction}y está llamando a otra función como esta
testCall() { // some codes someFunction(param).then((response) => { // codes }) }He tratado de burlarme como estas 3 formas
spyOn($, 'ajax').and.callFake( () =>{ var d = $.Deferred(); d.resolve({}); return d.promise(); }); -------------- spyOn($, 'ajax').and.callFake( (promise) => { var d = $.Deferred(); d.reject(promise.success()); return d.promise(); }); ------------- const testing = new Promise((resolve) => { spyOn(test, 'someFunction').and.callFake(() => { // here test is import form test.js file resolve(); return fakeResponse; }); })Cualquier ayuda sería apreciada.