32 lines
No EOL
1.1 KiB
TypeScript
32 lines
No EOL
1.1 KiB
TypeScript
import ScriptUtils from "../scripts/ScriptUtils";
|
|
import {Utils} from "../Utils";
|
|
import * as fakedom from "fake-dom"
|
|
import Locale from "../UI/i18n/Locale";
|
|
|
|
export const mochaHooks = {
|
|
|
|
beforeEach(done) {
|
|
ScriptUtils.fixUtils();
|
|
Locale.language.setData("en")
|
|
|
|
if (fakedom === undefined || window === undefined) {
|
|
throw "FakeDom not initialized"
|
|
}
|
|
|
|
|
|
// Block internet access
|
|
const realDownloadFunc = Utils.externalDownloadFunction;
|
|
Utils.externalDownloadFunction = async (url) => {
|
|
console.error("Fetching ", url, "blocked in tests, use Utils.injectJsonDownloadForTests")
|
|
const data = await realDownloadFunc(url)
|
|
console.log("\n\n ----------- \nBLOCKED DATA\n Utils.injectJsonDownloadForTests(\n" +
|
|
" ", JSON.stringify(url), ", \n",
|
|
" ", JSON.stringify(data), "\n )\n------------------\n\n")
|
|
throw new Error("Detected internet access for URL " + url + ", please inject it with Utils.injectJsonDownloadForTests")
|
|
}
|
|
|
|
done();
|
|
}
|
|
|
|
|
|
} |