0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-10 12:22:54 +01:00
discourse-custom-wizard/assets/javascripts/wizard/tests/pretender.js.es6

54 Zeilen
1,1 KiB
Text

2022-02-15 07:16:21 +01:00
import Pretender from "pretender";
function parsePostData(query) {
const result = {};
query.split("&").forEach(function (part) {
const item = part.split("=");
const firstSeg = decodeURIComponent(item[0]);
const m = /^([^\[]+)\[([^\]]+)\]/.exec(firstSeg);
const val = decodeURIComponent(item[1]).replace(/\+/g, " ");
if (m) {
result[m[1]] = result[m[1]] || {};
result[m[1]][m[2]] = val;
} else {
result[firstSeg] = val;
}
});
return result;
}
function response(code, obj) {
if (typeof code === "object") {
obj = code;
code = 200;
}
return [code, { "Content-Type": "application/json" }, obj];
}
2022-03-16 12:33:34 +01:00
export { response };
2022-02-15 07:16:21 +01:00
2022-03-16 12:33:34 +01:00
export default function (cb) {
let server = new Pretender();
2022-02-15 07:16:21 +01:00
2022-03-16 12:33:34 +01:00
if (cb) {
server = cb(server);
}
2022-02-15 07:16:21 +01:00
server.prepareBody = function (body) {
if (body && typeof body === "object") {
return JSON.stringify(body);
}
return body;
};
2022-03-16 12:33:34 +01:00
server.unhandledRequest = function (verb, path, request) {
2022-02-15 07:16:21 +01:00
const error =
"Unhandled request in test environment: " + path + " (" + verb + ")";
window.console.error(error);
throw error;
};
return server;
}