UNPKG

mocked-xhr

Version:

A backend mocking solution for npm based web applications (fork of https://github.com/callmehiphop/backend).

46 lines (38 loc) 969 B
'use strict'; var _ = require('./lodash.custom'); var Mock = require('./mock'); var stubs = []; var mocks = module.exports = {}; /** * Factory for Mock object * @param {string} method * @param {string|regexp} url * @param {object} data * @param {object} headers * @return {mock} */ mocks.create = function (method, url, data, headers, randomValueQueryStringParamters) { stubs.push(new Mock(method, url, data, headers, randomValueQueryStringParamters)); return stubs[stubs.length - 1]; }; /** * Clears out any stubs */ mocks.clear = function () { stubs.length = 0; }; /** * Checks to see if any of the current mock requests match * the specified criteria * @param {object} xhr stuff * @return {mock|boolean} */ mocks.match = function (method, url, params, headers) { var match = false; _.each(stubs, function (mock) { if (mock.match(method, url, params, headers) && (match = mock)) { return false; } }); return match; };