1import { Log } from '../../../log'; 2import { AndroidDeviceManager } from '../../../start/platforms/android/AndroidDeviceManager'; 3import { resolveDeviceAsync } from '../resolveDevice'; 4 5jest.mock('../../../log'); 6jest.mock('../../../start/platforms/android/AndroidDeviceManager', () => ({ 7 AndroidDeviceManager: { 8 resolveAsync: jest.fn(async () => ({ device: { name: 'mock', pid: '123' } })), 9 resolveFromNameAsync: jest.fn(async () => ({ device: { name: 'mock', pid: '123' } })), 10 }, 11})); 12 13describe(resolveDeviceAsync, () => { 14 it(`resolves default device`, async () => { 15 await resolveDeviceAsync(); 16 expect(Log.log).not.toBeCalled(); 17 expect(AndroidDeviceManager.resolveAsync).toBeCalledWith(); 18 }); 19 it(`prompts for device`, async () => { 20 await resolveDeviceAsync(true); 21 expect(Log.log).toBeCalledWith(expect.stringContaining('› Using --device mock')); 22 expect(AndroidDeviceManager.resolveAsync).toBeCalledWith({ shouldPrompt: true }); 23 }); 24 it(`queries device`, async () => { 25 await resolveDeviceAsync('search'); 26 expect(Log.log).toBeCalledWith(expect.stringContaining('› Using --device mock')); 27 expect(AndroidDeviceManager.resolveFromNameAsync).toBeCalledWith('search'); 28 }); 29}); 30