1 |
|
2 | const asyncFn = (response) => () => jest.fn(() => Promise.resolve(response));
|
3 | const syncFn = (response) => () => jest.fn(() => response);
|
4 | const makeFns = (response) => [asyncFn(response), syncFn(response)];
|
5 |
|
6 | const [stringFnAsync, stringFnSync] = makeFns('unknown');
|
7 | const [numberFnAsync, numberFnSync] = makeFns(-1);
|
8 | const [arrayFnAsync, arrayFnSync] = makeFns([]);
|
9 | const [booleanFnAsync, booleanFnSync] = makeFns(false);
|
10 | const [objectFnAsync, objectFnSync] = makeFns({});
|
11 |
|
12 | const numberAsyncHookResultHook = () => jest.fn(() => ({ loading: false, result: -1 }));
|
13 | const booleanAsyncHookResultHook = () => jest.fn(() => ({ loading: false, result: false }));
|
14 | const stringAsyncHookResultHook = () => jest.fn(() => ({ loading: false, result: 'unknown' }));
|
15 |
|
16 | const 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 |
|
165 | module.exports = diMock;
|