@eohjsc/react-native-smart-city 0.3.44 → 0.3.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/package.json +1 -1
  2. package/src/commons/Action/ItemQuickAction.js +20 -52
  3. package/src/commons/Action/__test__/ItemQuickAction.test.js +73 -235
  4. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/index.js +3 -3
  5. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/ItemPasscode.js +3 -3
  6. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +3 -3
  7. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/index.js +5 -5
  8. package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +1 -1
  9. package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +4 -3
  10. package/src/commons/AlertAction/index.js +1 -1
  11. package/src/commons/Auth/AccountItem.js +7 -1
  12. package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +1 -1
  13. package/src/commons/Dashboard/MyUnit/index.js +1 -1
  14. package/src/commons/Sharing/RowMember.js +15 -3
  15. package/src/commons/Sharing/WrapHeaderScrollable.js +4 -4
  16. package/src/configs/AccessibilityLabel.js +8 -0
  17. package/src/configs/Constants.js +1 -0
  18. package/src/iot/RemoteControl/Bluetooth.js +19 -3
  19. package/src/iot/RemoteControl/__test__/Bluetooth.test.js +39 -11
  20. package/src/navigations/UnitStack.js +2 -1
  21. package/src/screens/AQIGuide/index.js +6 -11
  22. package/src/screens/AddNewDevice/index.js +7 -23
  23. package/src/screens/AddNewGateway/AddNewGatewayStyles.js +3 -6
  24. package/src/screens/AddNewGateway/ConnectingWifiDevice.js +48 -23
  25. package/src/screens/AddNewGateway/ConnectingWifiGuide.js +15 -12
  26. package/src/screens/AddNewGateway/RenameNewDevices.js +36 -16
  27. package/src/screens/AddNewGateway/RenameNewDevicesStyles.js +0 -8
  28. package/src/screens/AddNewGateway/ScanGatewayQR.js +2 -2
  29. package/src/screens/AddNewGateway/ScanModbusQR.js +4 -1
  30. package/src/screens/AddNewGateway/ScanWifiDeviceQR.js +2 -2
  31. package/src/screens/AddNewGateway/SelectDeviceType.js +4 -4
  32. package/src/screens/AddNewGateway/ShareWifiPassword.js +8 -2
  33. package/src/screens/AddNewGateway/__test__/ConnectingWifiDevice.test.js +9 -1
  34. package/src/screens/AddNewGateway/__test__/ConnectingWifiGuide.test.js +1 -1
  35. package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +12 -0
  36. package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +2 -2
  37. package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +2 -2
  38. package/src/screens/AddNewGateway/index.js +4 -4
  39. package/src/screens/AddNewOneTap/AddNewOneTapStyles.js +2 -8
  40. package/src/screens/AddNewOneTap/index.js +3 -9
  41. package/src/screens/Device/detail.js +5 -2
  42. package/src/screens/Drawer/Drawer.test.js +51 -8
  43. package/src/screens/Drawer/index.js +7 -6
  44. package/src/screens/Explore/__test__/Explore.test.js +3 -3
  45. package/src/screens/Explore/index.js +4 -4
  46. package/src/screens/Sharing/Components/CheckBoxCustom.js +7 -2
  47. package/src/screens/Sharing/Components/TitleCheckBox.js +1 -0
  48. package/src/screens/Sharing/InfoMemberUnit.js +3 -0
  49. package/src/screens/Sharing/SelectPermission.js +4 -19
  50. package/src/screens/Sharing/SelectUser.js +9 -5
  51. package/src/screens/Sharing/Styles/SelectPermissionStyles.js +4 -8
  52. package/src/screens/SmartAccount/Connecting/index.js +3 -3
  53. package/src/screens/SmartAccount/Connecting/style.js +1 -1
  54. package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +1 -3
  55. package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +1 -4
  56. package/src/screens/SmartAccount/SuccessfullyConnected/index.js +3 -3
  57. package/src/screens/SmartAccount/SuccessfullyConnected/styles.js +1 -1
  58. package/src/screens/SubUnit/AddSubUnit.js +4 -10
  59. package/src/screens/SubUnit/AddSubUnitStyles.js +2 -2
  60. package/src/screens/SyncLGDevice/AddLGDevice.js +4 -4
  61. package/src/screens/SyncLGDevice/AddLGDeviceStyles.js +2 -0
  62. package/src/screens/Template/__test__/GatewayList.test.js +1 -1
  63. package/src/screens/Template/__test__/Information.test.js +1 -1
  64. package/src/screens/UVIndexGuide/index.js +13 -22
  65. package/src/screens/Unit/MyAllUnit/index.js +5 -3
  66. package/src/screens/Unit/components/MyAllUnit/__test__/MyAllUnit.test.js +3 -3
  67. package/src/screens/Unit/components/MyAllUnit/index.js +5 -3
  68. package/src/screens/Unit/components/MyUnitDevice/index.js +1 -1
  69. package/src/screens/Unit/components/__test__/MyUnitDevice.test.js +39 -0
  70. package/src/screens/WaterQualityGuide/index.js +10 -4
  71. package/src/utils/Apis/axios.js +5 -0
  72. package/src/utils/__test__/Utils.test.js +115 -0
@@ -1,9 +1,24 @@
1
+ import { Linking } from 'react-native';
2
+ import { act } from 'react-test-renderer';
3
+ import Toast from 'react-native-toast-message';
4
+
5
+ import api from '../Apis/axios';
1
6
  import {
2
7
  validateEmail,
3
8
  formatMoney,
4
9
  insertToString,
5
10
  removeFromString,
6
11
  isObjectEmpty,
12
+ setAxiosDefaultLanguage,
13
+ deleteDefaultAuthToken,
14
+ setAxiosDefaultAuthToken,
15
+ shortEmailName,
16
+ formatNumberCompact,
17
+ standardizeCameraScreenSize,
18
+ openMapDirection,
19
+ ToastBottomHelper,
20
+ object_Ids,
21
+ notImplemented,
7
22
  } from '../Utils';
8
23
 
9
24
  describe('Test utils', () => {
@@ -11,20 +26,120 @@ describe('Test utils', () => {
11
26
  const result = validateEmail('eoh.2020@gmail.com');
12
27
  expect(result).toEqual(true);
13
28
  });
29
+
14
30
  it('test formatMoney', async () => {
15
31
  const result = formatMoney(10000);
16
32
  expect(result).toEqual('10.000 đ');
17
33
  });
34
+
18
35
  it('test insertToString', async () => {
19
36
  const result = insertToString('test', 1, 2);
20
37
  expect(result).toEqual('t2est');
21
38
  });
39
+
22
40
  it('test removeFromString', async () => {
23
41
  const result = removeFromString('test', 1);
24
42
  expect(result).toEqual('tst');
25
43
  });
44
+
26
45
  it('test isObjectEmpty', async () => {
27
46
  const result = isObjectEmpty({ id: 1 });
28
47
  expect(result).toEqual(false);
29
48
  });
49
+
50
+ it('test setAxiosDefaultLanguage', () => {
51
+ setAxiosDefaultLanguage('en');
52
+ expect(api.headers['Accept-Language']).toBe('en');
53
+ });
54
+
55
+ it('test setAxiosDefaultAuthToken', () => {
56
+ setAxiosDefaultAuthToken('token');
57
+ expect(api.headers.Authorization).toBe('Token token');
58
+ });
59
+
60
+ it('test deleteDefaultAuthToken', () => {
61
+ deleteDefaultAuthToken();
62
+ expect(api.headers.Authorization).toBe(undefined);
63
+ });
64
+
65
+ it('test shortEmailName', async () => {
66
+ const shortEmail = await shortEmailName('test@gmail.com');
67
+ expect(shortEmail).toBe('test');
68
+ });
69
+
70
+ it('test formatNumberCompact', async () => {
71
+ const number = await formatNumberCompact(10000);
72
+ expect(number).toBe('10K');
73
+ });
74
+
75
+ it('test standardizeCameraScreenSize', async () => {
76
+ const size = await standardizeCameraScreenSize(100);
77
+ expect(size).toEqual({
78
+ standardizeWidth: 98,
79
+ standardizeHeight: 42,
80
+ });
81
+ });
82
+
83
+ it('Test openMapDirection', async () => {
84
+ // Linking.openURL = jest.fn(() => Promise.reject('mockError'));
85
+ await act(async () => {
86
+ await openMapDirection({ lat: 10, lng: 10 })();
87
+ });
88
+ expect(Linking.openURL).toBeCalledWith(
89
+ 'https://www.google.com/maps/dir/?api=1&origin=&destination=10,10'
90
+ );
91
+ });
92
+
93
+ it('test ToastBottomHelper', async () => {
94
+ await act(async () => {
95
+ ToastBottomHelper.success('msg', 'line2');
96
+ });
97
+ expect(Toast.show).toBeCalledWith({
98
+ position: 'bottom',
99
+ text1: 'msg',
100
+ text2: 'line2',
101
+ type: 'success',
102
+ visibilityTime: 1000,
103
+ });
104
+
105
+ await act(async () => {
106
+ ToastBottomHelper.error('msg', 'line2');
107
+ });
108
+ expect(Toast.show).toBeCalledWith({
109
+ position: 'bottom',
110
+ text1: 'msg',
111
+ text2: 'line2',
112
+ type: 'error',
113
+ visibilityTime: 1000,
114
+ });
115
+
116
+ await act(async () => {
117
+ ToastBottomHelper.info('msg', 'line2');
118
+ });
119
+ expect(Toast.show).toBeCalledWith({
120
+ position: 'bottom',
121
+ text1: 'msg',
122
+ text2: 'line2',
123
+ type: 'info',
124
+ visibilityTime: 1000,
125
+ });
126
+ });
127
+
128
+ it('test object_Ids', async () => {
129
+ const data = await object_Ids([{ id: 1, device: [], actions: [] }]);
130
+ expect(data).toEqual({
131
+ stationIds: [1],
132
+ deviceIds: [],
133
+ actionIds: [],
134
+ configIds: [],
135
+ });
136
+ });
137
+
138
+ it('test notImplemented', async () => {
139
+ const mockTranslate = jest.fn();
140
+ await act(async () => {
141
+ notImplemented(mockTranslate);
142
+ });
143
+ expect(mockTranslate).toBeCalledWith('feature_under_development');
144
+ });
30
145
  });