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