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