SmartestVEGA SmartestVEGA - 5 months ago 21
Ajax Question

Unit Test are not failing

I am trying to write unit test cases, for web API call.

Which shows success below :

Success Unit Test (jsfiddle)


Error Unit Test (jsfiddle) But still its shows "pass"


Previous right webapi url :,-104.9847034&key

Wrong wepapi url :,-104.9847034&key

Even though the wepapi url is wrong. Test is passing.

Answer Source

Remove the spy function and add a fail callback which raises an error if the ajax call failed like so:

function getProduct(dataType,serviceURL,langCode ,callback) {
        type: 'GET',
        dataType: dataType,
        url: serviceURL + langCode,
        success: callback,
        fail: () => { throw new Error( 'failed' ); },

See this fiddle here.

But this causes an actual call. To prevent the call from happening, use your spy function and parse the URL argument like in this fiddle here.