forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.3 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()
 | |
|     },
 | |
| }
 |