1*26ad19fcSEvan Baconimport getDevServer from '../../getDevServer';
2*26ad19fcSEvan Baconimport { buildUrlForBundle } from '../buildUrlForBundle';
3*26ad19fcSEvan Bacon
4*26ad19fcSEvan Baconexport const asMock = <T extends (...args: any[]) => any>(fn: T): jest.MockedFunction<T> =>
5*26ad19fcSEvan Bacon  fn as jest.MockedFunction<T>;
6*26ad19fcSEvan Bacon
7*26ad19fcSEvan Baconjest.mock('../../getDevServer', () => ({
8*26ad19fcSEvan Bacon  __esModule: true,
9*26ad19fcSEvan Bacon  default: jest.fn(),
10*26ad19fcSEvan Bacon}));
11*26ad19fcSEvan Bacon
12*26ad19fcSEvan Baconit(`returns an expected URL`, () => {
13*26ad19fcSEvan Bacon  asMock(getDevServer).mockReturnValueOnce({
14*26ad19fcSEvan Bacon    bundleLoadedFromServer: true,
15*26ad19fcSEvan Bacon    fullBundleUrl:
16*26ad19fcSEvan Bacon      'http://localhost:19000?platform=android&modulesOnly=true&runModule=false&runtimeBytecodeVersion=null',
17*26ad19fcSEvan Bacon    url: 'http://localhost:19000',
18*26ad19fcSEvan Bacon  });
19*26ad19fcSEvan Bacon
20*26ad19fcSEvan Bacon  expect(buildUrlForBundle('/foobar')).toEqual('http://localhost:19000/foobar');
21*26ad19fcSEvan Bacon});
22