1*26ad19fcSEvan Baconimport HMRClient from '../../HMRClient'; 2*26ad19fcSEvan Baconimport LoadingView from '../../LoadingView'; 3*26ad19fcSEvan Baconimport { fetchThenEvalAsync } from '../fetchThenEval'; 4*26ad19fcSEvan Baconimport { loadBundleAsync } from '../loadBundle'; 5*26ad19fcSEvan Bacon 6*26ad19fcSEvan Baconjest.mock('../fetchThenEval', () => ({ 7*26ad19fcSEvan Bacon fetchThenEvalAsync: jest.fn(async () => {}), 8*26ad19fcSEvan Bacon})); 9*26ad19fcSEvan Bacon 10*26ad19fcSEvan Baconjest.mock('../../HMRClient', () => ({ 11*26ad19fcSEvan Bacon __esModule: true, 12*26ad19fcSEvan Bacon default: { registerBundle: jest.fn() }, 13*26ad19fcSEvan Bacon})); 14*26ad19fcSEvan Bacon 15*26ad19fcSEvan Baconjest.mock('../../LoadingView'); 16*26ad19fcSEvan Bacon 17*26ad19fcSEvan Baconconst originalEnv = process.env.NODE_ENV; 18*26ad19fcSEvan BaconafterEach(() => { 19*26ad19fcSEvan Bacon process.env.NODE_ENV = originalEnv; 20*26ad19fcSEvan Bacon}); 21*26ad19fcSEvan Bacon 22*26ad19fcSEvan Baconit('loads a bundle', async () => { 23*26ad19fcSEvan Bacon process.env.NODE_ENV = 'development'; 24*26ad19fcSEvan Bacon await loadBundleAsync('/Second.bundle?modulesOnly=true'); 25*26ad19fcSEvan Bacon expect(LoadingView.showMessage).toBeCalledWith('Downloading...', 'load'); 26*26ad19fcSEvan Bacon expect(LoadingView.hide).toBeCalledWith(); 27*26ad19fcSEvan Bacon const url = `/Second.bundle?modulesOnly=true`; 28*26ad19fcSEvan Bacon expect(HMRClient.registerBundle).toBeCalledWith(url); 29*26ad19fcSEvan Bacon expect(fetchThenEvalAsync).toBeCalledWith(url); 30*26ad19fcSEvan Bacon}); 31*26ad19fcSEvan Baconit('loads a bundle in production', async () => { 32*26ad19fcSEvan Bacon process.env.NODE_ENV = 'production'; 33*26ad19fcSEvan Bacon await loadBundleAsync('/Second.bundle?modulesOnly=true'); 34*26ad19fcSEvan Bacon expect(LoadingView.showMessage).not.toBeCalled(); 35*26ad19fcSEvan Bacon expect(LoadingView.hide).not.toBeCalled(); 36*26ad19fcSEvan Bacon const url = `/Second.bundle?modulesOnly=true`; 37*26ad19fcSEvan Bacon expect(HMRClient.registerBundle).not.toBeCalled(); 38*26ad19fcSEvan Bacon expect(fetchThenEvalAsync).toBeCalledWith(url); 39*26ad19fcSEvan Bacon}); 40