UNPKG

6.27 kBJavaScriptView Raw
1/* eslint-disable no-undef -- jest is not defined and cannot be */
2const asyncFn = (response) => () => jest.fn(() => Promise.resolve(response));
3const syncFn = (response) => () => jest.fn(() => response);
4const makeFns = (response) => [asyncFn(response), syncFn(response)];
5
6const [stringFnAsync, stringFnSync] = makeFns('unknown');
7const [numberFnAsync, numberFnSync] = makeFns(-1);
8const [arrayFnAsync, arrayFnSync] = makeFns([]);
9const [booleanFnAsync, booleanFnSync] = makeFns(false);
10const [objectFnAsync, objectFnSync] = makeFns({});
11
12const numberAsyncHookResultHook = () => jest.fn(() => ({ loading: false, result: -1 }));
13const booleanAsyncHookResultHook = () => jest.fn(() => ({ loading: false, result: false }));
14const stringAsyncHookResultHook = () => jest.fn(() => ({ loading: false, result: 'unknown' }));
15
16const diMock = {
17 getAndroidId: stringFnAsync(),
18 getAndroidIdSync: stringFnSync(),
19 getApiLevel: numberFnAsync(),
20 getApiLevelSync: numberFnSync(),
21 getAvailableLocationProviders: objectFnAsync(),
22 getAvailableLocationProvidersSync: objectFnSync(),
23 getBaseOs: stringFnAsync(),
24 getBaseOsSync: stringFnSync(),
25 getBatteryLevel: numberFnAsync(),
26 getBatteryLevelSync: numberFnSync(),
27 getBootloader: stringFnAsync(),
28 getBootloaderSync: stringFnSync(),
29 getBuildId: stringFnAsync(),
30 getBuildIdSync: stringFnSync(),
31 getCarrier: stringFnAsync(),
32 getCarrierSync: stringFnSync(),
33 getCodename: stringFnAsync(),
34 getCodenameSync: stringFnSync(),
35 getDevice: stringFnAsync(),
36 getDeviceSync: stringFnSync(),
37 getDeviceName: stringFnAsync(),
38 getDeviceNameSync: stringFnSync(),
39 getDeviceToken: stringFnAsync(),
40 getDisplay: stringFnAsync(),
41 getDisplaySync: stringFnSync(),
42 getFingerprint: stringFnAsync(),
43 getFingerprintSync: stringFnSync(),
44 getFirstInstallTime: numberFnAsync(),
45 getFirstInstallTimeSync: numberFnSync(),
46 getFontScale: numberFnAsync(),
47 getFontScaleSync: numberFnSync(),
48 getFreeDiskStorage: numberFnAsync(),
49 getFreeDiskStorageOld: numberFnAsync(),
50 getFreeDiskStorageSync: numberFnSync(),
51 getFreeDiskStorageOldSync: numberFnSync(),
52 getHardware: stringFnAsync(),
53 getHardwareSync: stringFnSync(),
54 getHost: stringFnAsync(),
55 getHostSync: stringFnSync(),
56 getIncremental: stringFnAsync(),
57 getIncrementalSync: stringFnSync(),
58 getInstallerPackageName: stringFnAsync(),
59 getInstallerPackageNameSync: stringFnSync(),
60 getInstallReferrer: stringFnAsync(),
61 getInstallReferrerSync: stringFnSync(),
62 getInstanceId: stringFnAsync(),
63 getInstanceIdSync: stringFnSync(),
64 getIpAddress: stringFnAsync(),
65 getIpAddressSync: stringFnSync(),
66 getLastUpdateTime: numberFnAsync(),
67 getLastUpdateTimeSync: numberFnSync(),
68 getMacAddress: stringFnAsync(),
69 getMacAddressSync: stringFnSync(),
70 getMaxMemory: numberFnAsync(),
71 getMaxMemorySync: numberFnSync(),
72 getPhoneNumber: stringFnAsync(),
73 getPhoneNumberSync: stringFnSync(),
74 getPreviewSdkInt: numberFnAsync(),
75 getPreviewSdkIntSync: numberFnSync(),
76 getProduct: stringFnAsync(),
77 getProductSync: stringFnSync(),
78 getSecurityPatch: stringFnAsync(),
79 getSecurityPatchSync: stringFnSync(),
80 getSerialNumber: stringFnAsync(),
81 getSerialNumberSync: stringFnSync(),
82 getSystemAvailableFeatures: arrayFnAsync(),
83 getSystemAvailableFeaturesSync: arrayFnSync(),
84 getTags: stringFnAsync(),
85 getTagsSync: stringFnSync(),
86 getTotalDiskCapacity: numberFnAsync(),
87 getTotalDiskCapacityOld: numberFnAsync(),
88 getTotalDiskCapacitySync: numberFnSync(),
89 getTotalDiskCapacityOldSync: numberFnSync(),
90 getTotalMemory: numberFnAsync(),
91 getTotalMemorySync: numberFnSync(),
92 getType: stringFnAsync(),
93 getTypeSync: stringFnSync(),
94 getUsedMemory: numberFnAsync(),
95 getUsedMemorySync: numberFnSync(),
96 getUserAgent: stringFnAsync(),
97 getUserAgentSync: stringFnSync(),
98 hasSystemFeature: booleanFnAsync(),
99 hasSystemFeatureSync: booleanFnSync(),
100 hasGms: booleanFnAsync(),
101 hasGmsSync: booleanFnSync(),
102 hasHms: booleanFnAsync(),
103 hasHmsSync: booleanFnSync(),
104 isAirplaneMode: booleanFnAsync(),
105 isAirplaneModeSync: booleanFnSync(),
106 isBatteryCharging: booleanFnAsync(),
107 isBatteryChargingSync: booleanFnSync(),
108 isCameraPresent: booleanFnSync(),
109 isCameraPresentSync: booleanFnSync(),
110 isEmulator: booleanFnAsync(),
111 isEmulatorSync: booleanFnSync(),
112 isHeadphonesConnected: booleanFnAsync(),
113 isHeadphonesConnectedSync: booleanFnSync(),
114 isLocationEnabled: booleanFnAsync(),
115 isLocationEnabledSync: booleanFnSync(),
116 isPinOrFingerprintSet: booleanFnAsync(),
117 isPinOrFingerprintSetSync: booleanFnSync(),
118 syncUniqueId: stringFnAsync(),
119 getApplicationName: stringFnSync(),
120 getBrand: stringFnSync(),
121 getBuildNumber: stringFnSync(),
122 getBundleId: stringFnSync(),
123 getDeviceId: stringFnSync(),
124 getDeviceType: stringFnSync(),
125 getManufacturer: stringFnAsync(),
126 getManufacturerSync: stringFnSync(),
127 getModel: stringFnSync(),
128 getPowerState: objectFnAsync(),
129 getPowerStateSync: objectFnSync(),
130 getReadableVersion: stringFnSync(),
131 getSystemName: stringFnSync(),
132 getSystemVersion: stringFnSync(),
133 getUniqueId: stringFnAsync(),
134 getUniqueIdSync: stringFnSync(),
135 getVersion: stringFnSync(),
136 getBrightness: numberFnAsync(),
137 getBrightnessSync: numberFnSync(),
138 hasNotch: booleanFnSync(),
139 isLandscape: booleanFnAsync(),
140 isLandscapeSync: booleanFnSync(),
141 isMouseConnected: booleanFnAsync(),
142 isMouseConnectedSync: booleanFnSync(),
143 isKeyboardConnected: booleanFnAsync(),
144 isKeyboardConnectedSync: booleanFnSync(),
145 isTabletMode: booleanFnAsync(),
146 isTablet: booleanFnSync(),
147 supported32BitAbis: arrayFnAsync(),
148 supported32BitAbisSync: arrayFnSync(),
149 supported64BitAbis: arrayFnAsync(),
150 supported64BitAbisSync: arrayFnSync(),
151 supportedAbis: arrayFnAsync(),
152 supportedAbisSync: arrayFnSync(),
153 useBatteryLevel: numberFnSync(),
154 useBatteryLevelIsLow: numberFnSync(),
155 usePowerState: objectFnSync(),
156 useIsHeadphonesConnected: booleanAsyncHookResultHook(),
157 useFirstInstallTime: numberAsyncHookResultHook(),
158 useDeviceName: stringAsyncHookResultHook(),
159 useHasSystemFeature: booleanAsyncHookResultHook(),
160 useIsEmulator: booleanAsyncHookResultHook(),
161 useManufacturer: stringAsyncHookResultHook(),
162 useBrightness: numberFnSync(),
163};
164
165module.exports = diMock;