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()
 | 
						|
    },
 | 
						|
}
 |