13d6e487dSEvan Baconimport { vol } from 'memfs';
23d6e487dSEvan Bacon
33d6e487dSEvan Baconimport rnFixture from '../../../prebuild/__tests__/fixtures/react-native-project';
43d6e487dSEvan Baconimport { assembleAsync, installAsync } from '../../../start/platforms/android/gradle';
53d6e487dSEvan Baconimport { resolveOptionsAsync } from '../resolveOptions';
63d6e487dSEvan Baconimport { runAndroidAsync } from '../runAndroidAsync';
73d6e487dSEvan Bacon
83d6e487dSEvan Baconjest.mock('../../../log');
93d6e487dSEvan Bacon
10*c4ef02aeSEvan Baconjest.mock('../../../utils/port');
113d6e487dSEvan Bacon
123d6e487dSEvan Baconjest.mock('../../../start/platforms/android/gradle', () => ({
133d6e487dSEvan Bacon  assembleAsync: jest.fn(async () => {}),
143d6e487dSEvan Bacon  installAsync: jest.fn(async () => {}),
153d6e487dSEvan Bacon}));
163d6e487dSEvan Bacon
173d6e487dSEvan Baconjest.mock('../resolveDevice', () => ({
183d6e487dSEvan Bacon  resolveDeviceAsync: jest.fn(async () => ({
193d6e487dSEvan Bacon    device: {
203d6e487dSEvan Bacon      name: 'mock',
213d6e487dSEvan Bacon      pid: '123',
223d6e487dSEvan Bacon    },
233d6e487dSEvan Bacon  })),
243d6e487dSEvan Bacon}));
253d6e487dSEvan Bacon
263d6e487dSEvan Baconjest.mock('../../../utils/env', () => ({
273d6e487dSEvan Bacon  env: {
283d6e487dSEvan Bacon    CI: false,
293d6e487dSEvan Bacon  },
303d6e487dSEvan Bacon}));
313d6e487dSEvan Bacon
323d6e487dSEvan Baconjest.mock('../../startBundler', () => ({
333d6e487dSEvan Bacon  startBundlerAsync: jest.fn(() => ({
343d6e487dSEvan Bacon    startAsync: jest.fn(),
353d6e487dSEvan Bacon    getDefaultDevServer: jest.fn(() => ({
363d6e487dSEvan Bacon      openCustomRuntimeAsync: jest.fn(),
373d6e487dSEvan Bacon    })),
383d6e487dSEvan Bacon  })),
393d6e487dSEvan Bacon}));
403d6e487dSEvan Bacon
413d6e487dSEvan Bacondescribe(resolveOptionsAsync, () => {
423d6e487dSEvan Bacon  afterEach(() => vol.reset());
433d6e487dSEvan Bacon
443d6e487dSEvan Bacon  it(`runs android`, async () => {
453d6e487dSEvan Bacon    vol.fromJSON(rnFixture, '/');
463d6e487dSEvan Bacon
473d6e487dSEvan Bacon    await runAndroidAsync('/', {});
483d6e487dSEvan Bacon
493d6e487dSEvan Bacon    expect(assembleAsync).toBeCalledWith('/android', {
503d6e487dSEvan Bacon      appName: 'app',
513d6e487dSEvan Bacon      buildCache: false,
523d6e487dSEvan Bacon      port: 8081,
533d6e487dSEvan Bacon      variant: 'debug',
543d6e487dSEvan Bacon    });
553d6e487dSEvan Bacon
563d6e487dSEvan Bacon    expect(installAsync).toBeCalledWith('/android', {
573d6e487dSEvan Bacon      appName: 'app',
583d6e487dSEvan Bacon      port: 8081,
593d6e487dSEvan Bacon      variant: 'debug',
603d6e487dSEvan Bacon    });
613d6e487dSEvan Bacon  });
623d6e487dSEvan Bacon});
63