UNPKG

6.34 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 hasDynamicIsland: booleanFnSync(),
99 hasSystemFeature: booleanFnAsync(),
100 hasSystemFeatureSync: booleanFnSync(),
101 hasGms: booleanFnAsync(),
102 hasGmsSync: booleanFnSync(),
103 hasHms: booleanFnAsync(),
104 hasHmsSync: booleanFnSync(),
105 isAirplaneMode: booleanFnAsync(),
106 isAirplaneModeSync: booleanFnSync(),
107 isBatteryCharging: booleanFnAsync(),
108 isBatteryChargingSync: booleanFnSync(),
109 isCameraPresent: booleanFnSync(),
110 isCameraPresentSync: booleanFnSync(),
111 isEmulator: booleanFnAsync(),
112 isEmulatorSync: booleanFnSync(),
113 isHeadphonesConnected: booleanFnAsync(),
114 isHeadphonesConnectedSync: booleanFnSync(),
115 isLocationEnabled: booleanFnAsync(),
116 isLocationEnabledSync: booleanFnSync(),
117 isPinOrFingerprintSet: booleanFnAsync(),
118 isPinOrFingerprintSetSync: booleanFnSync(),
119 syncUniqueId: stringFnAsync(),
120 getApplicationName: stringFnSync(),
121 getBrand: stringFnSync(),
122 getBuildNumber: stringFnSync(),
123 getBundleId: stringFnSync(),
124 getDeviceId: stringFnSync(),
125 getDeviceType: stringFnSync(),
126 getDeviceTypeSync: stringFnSync(),
127 getManufacturer: stringFnAsync(),
128 getManufacturerSync: stringFnSync(),
129 getModel: stringFnSync(),
130 getPowerState: objectFnAsync(),
131 getPowerStateSync: objectFnSync(),
132 getReadableVersion: stringFnSync(),
133 getSystemName: stringFnSync(),
134 getSystemVersion: stringFnSync(),
135 getUniqueId: stringFnAsync(),
136 getUniqueIdSync: stringFnSync(),
137 getVersion: stringFnSync(),
138 getBrightness: numberFnAsync(),
139 getBrightnessSync: numberFnSync(),
140 hasNotch: booleanFnSync(),
141 isLandscape: booleanFnAsync(),
142 isLandscapeSync: booleanFnSync(),
143 isMouseConnected: booleanFnAsync(),
144 isMouseConnectedSync: booleanFnSync(),
145 isKeyboardConnected: booleanFnAsync(),
146 isKeyboardConnectedSync: booleanFnSync(),
147 isTabletMode: booleanFnAsync(),
148 isTablet: booleanFnSync(),
149 supported32BitAbis: arrayFnAsync(),
150 supported32BitAbisSync: arrayFnSync(),
151 supported64BitAbis: arrayFnAsync(),
152 supported64BitAbisSync: arrayFnSync(),
153 supportedAbis: arrayFnAsync(),
154 supportedAbisSync: arrayFnSync(),
155 useBatteryLevel: numberFnSync(),
156 useBatteryLevelIsLow: numberFnSync(),
157 usePowerState: objectFnSync(),
158 useIsHeadphonesConnected: booleanAsyncHookResultHook(),
159 useFirstInstallTime: numberAsyncHookResultHook(),
160 useDeviceName: stringAsyncHookResultHook(),
161 useHasSystemFeature: booleanAsyncHookResultHook(),
162 useIsEmulator: booleanAsyncHookResultHook(),
163 useManufacturer: stringAsyncHookResultHook(),
164 useBrightness: numberFnSync(),
165};
166
167module.exports = diMock;