mapcomplete/test/testhooks.ts

42 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-09-08 21:40:48 +02:00
import ScriptUtils from "../scripts/ScriptUtils"
import { Utils } from "../Utils"
import * as fakedom from "fake-dom"
2022-09-08 21:40:48 +02:00
import Locale from "../UI/i18n/Locale"
2022-03-23 19:48:06 +01:00
export const mochaHooks = {
beforeEach(done) {
2022-09-08 21:40:48 +02:00
ScriptUtils.fixUtils()
Locale.language.setData("en")
if (fakedom === undefined || window === undefined) {
throw "FakeDom not initialized"
}
2022-03-23 19:48:06 +01:00
// Block internet access
2022-09-08 21:40:48 +02:00
const realDownloadFunc = Utils.externalDownloadFunction
2022-03-23 19:48:06 +01:00
Utils.externalDownloadFunction = async (url) => {
2022-09-08 21:40:48 +02:00
console.error(
"Fetching ",
url,
"blocked in tests, use Utils.injectJsonDownloadForTests"
)
2022-03-23 19:48:06 +01:00
const data = await realDownloadFunc(url)
2022-09-08 21:40:48 +02:00
console.log(
"\n\n ----------- \nBLOCKED DATA\n Utils.injectJsonDownloadForTests(\n" + " ",
JSON.stringify(url),
", \n",
" ",
// JSON.stringify(data),
2022-09-08 21:40:48 +02:00
"\n )\n------------------\n\n"
)
throw new Error(
"Detected internet access for URL " +
url +
", please inject it with Utils.injectJsonDownloadForTests"
)
2022-03-23 19:48:06 +01:00
}
2022-09-08 21:40:48 +02:00
done()
},
}