From e3f6d18e403b049fd5c28d0b0589e75708ec089e Mon Sep 17 00:00:00 2001 From: jlukic Date: Tue, 14 Apr 2015 13:45:36 -0400 Subject: [PATCH] Similar #2092 add ability to mock server response using function --- src/definitions/behaviors/api.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/definitions/behaviors/api.js b/src/definitions/behaviors/api.js index 54a4e2e21..b15e79c7c 100644 --- a/src/definitions/behaviors/api.js +++ b/src/definitions/behaviors/api.js @@ -455,11 +455,23 @@ $.api = $.fn.api = function(parameters) { }, // xhr promise xhr: function() { - return $.ajax(ajaxSettings) - .always(module.event.xhr.always) - .done(module.event.xhr.done) - .fail(module.event.xhr.fail) - ; + if(settings.mockResponse) { + if( $.isFunction(settings.mockResponse) ) { + response = settings.mockResponse.call(context, settings); + } + else { + response = settings.mockResponse; + } + module.verbose('Using mocked server response', response); + return module.request.resolveWith(context, [response]); + } + else { + return $.ajax(ajaxSettings) + .always(module.event.xhr.always) + .done(module.event.xhr.done) + .fail(module.event.xhr.fail) + ; + } } }, @@ -827,6 +839,9 @@ $.api.settings = { data : {}, dataType : 'json', + // mock response + mockResponse : false, + // callbacks before request beforeSend : function(settings) { return settings; }, beforeXHR : function(xhr) {},