1import { ExpoConfig } from '@expo/config'; 2 3import { resolveMetroVersionFromProject } from '../../../start/server/metro/resolveFromProject'; 4import { getMetroDebugProperties } from '../getMetroDebugProperties'; 5 6jest.mock('../rudderstackClient'); 7jest.mock('../../../start/server/metro/resolveFromProject'); 8 9const fakeExpoConfig = { 10 sdkVersion: '47.0.0', 11 jsEngine: 'hermes', 12} as ExpoConfig; 13 14describe(getMetroDebugProperties, () => { 15 it('returns expo sdk and metro versions', () => { 16 jest.mocked(resolveMetroVersionFromProject).mockReturnValue('1.33.7'); 17 18 const debugTool = { name: 'flipper', version: '4.2.0' }; 19 const properties = getMetroDebugProperties('/fake-project', fakeExpoConfig, debugTool); 20 21 expect(properties).toMatchObject({ 22 sdkVersion: fakeExpoConfig.sdkVersion, 23 metroVersion: '1.33.7', 24 }); 25 }); 26 27 it('returns the debug tool', () => { 28 const debugTool = { name: 'flipper', version: '4.2.0' }; 29 const properties = getMetroDebugProperties('/fake-project', fakeExpoConfig, debugTool); 30 31 expect(properties).toMatchObject({ 32 toolName: debugTool.name, 33 toolVersion: debugTool.version, 34 }); 35 }); 36}); 37