1import { vol } from 'memfs'; 2 3import rnFixture from '../../../prebuild/__tests__/fixtures/react-native-project'; 4import { assembleAsync, installAsync } from '../../../start/platforms/android/gradle'; 5import { resolveOptionsAsync } from '../resolveOptions'; 6import { runAndroidAsync } from '../runAndroidAsync'; 7 8jest.mock('../../../log'); 9 10jest.mock('../../../utils/port'); 11 12jest.mock('../../../start/platforms/android/gradle', () => ({ 13 assembleAsync: jest.fn(async () => {}), 14 installAsync: jest.fn(async () => {}), 15})); 16 17jest.mock('../resolveDevice', () => ({ 18 resolveDeviceAsync: jest.fn(async () => ({ 19 device: { 20 name: 'mock', 21 pid: '123', 22 }, 23 })), 24})); 25 26jest.mock('../../../utils/env', () => ({ 27 env: { 28 CI: false, 29 }, 30})); 31 32jest.mock('../../startBundler', () => ({ 33 startBundlerAsync: jest.fn(() => ({ 34 startAsync: jest.fn(), 35 getDefaultDevServer: jest.fn(() => ({ 36 openCustomRuntimeAsync: jest.fn(), 37 })), 38 })), 39})); 40 41describe(resolveOptionsAsync, () => { 42 afterEach(() => vol.reset()); 43 44 it(`runs android`, async () => { 45 vol.fromJSON(rnFixture, '/'); 46 47 await runAndroidAsync('/', {}); 48 49 expect(assembleAsync).toBeCalledWith('/android', { 50 appName: 'app', 51 buildCache: false, 52 port: 8081, 53 variant: 'debug', 54 }); 55 56 expect(installAsync).toBeCalledWith('/android', { 57 appName: 'app', 58 port: 8081, 59 variant: 'debug', 60 }); 61 }); 62}); 63