@eohjsc/react-native-smart-city 0.6.2 → 0.7.3

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 (324) hide show
  1. package/README.md +3 -3
  2. package/android/build.gradle +7 -10
  3. package/package.json +53 -70
  4. package/src/commons/Action/__test__/ItemQuickAction.test.js +2 -2
  5. package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +3 -3
  6. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/ButtonWrapper.js +3 -3
  7. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/ItemPasscode.test.js +2 -2
  8. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/index.test.js +3 -3
  9. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +3 -3
  10. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/ButtonWrapper.js +2 -2
  11. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/__test__/index.test.js +0 -15
  12. package/src/commons/ActionGroup/OnOffTemplate/OnOffSimpleTemplate.js +2 -2
  13. package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +2 -2
  14. package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +2 -2
  15. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/CircleButton.js +5 -5
  16. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/ControlPlay.js +5 -5
  17. package/src/commons/ActionGroup/TerminalBoxTemplate.js +2 -2
  18. package/src/commons/ActionGroup/TextBoxTemplate.js +2 -2
  19. package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonTemplate.test.js +4 -4
  20. package/src/commons/ActionGroup/TimerActionTemplate.js +4 -5
  21. package/src/commons/ActionGroup/TwoButtonTemplate/index.js +2 -2
  22. package/src/commons/ActionGroup/__test__/ColorPickerTemplate.test.js +4 -9
  23. package/src/commons/ActionGroup/__test__/NumberUpDownTemplate.test.js +2 -9
  24. package/src/commons/ActionGroup/__test__/OnOffButtonTemplate.test.js +4 -11
  25. package/src/commons/ActionGroup/__test__/OnOffSmartLock.test.js +2 -9
  26. package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +4 -18
  27. package/src/commons/ActionGroup/__test__/OneBigButtonTemplate.test.js +2 -2
  28. package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +1 -8
  29. package/src/commons/ActionGroup/__test__/StatesGridActionTemplate.test.js +0 -7
  30. package/src/commons/ActionGroup/__test__/SwitchButtonTemplate.test.js +4 -15
  31. package/src/commons/ActionGroup/__test__/TerminalBoxTemplate.test.js +0 -7
  32. package/src/commons/ActionGroup/__test__/TextBoxTemplate.test.js +1 -8
  33. package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +8 -15
  34. package/src/commons/ActionGroup/__test__/TimerActionTemplateWithutConfigValue.test.js +2 -10
  35. package/src/commons/ActionGroup/__test__/TwoButtonTemplate.test.js +3 -20
  36. package/src/commons/ActionGroup/__test__/index.test.js +15 -23
  37. package/src/commons/ActionTemplate/__test__/index.test.js +2 -0
  38. package/src/commons/ActionTemplate/__test__/utils.js +21 -0
  39. package/src/commons/ActionTemplate/index.js +1 -2
  40. package/src/commons/BackDefault/index.js +2 -2
  41. package/src/commons/ButtonPopup/index.js +2 -2
  42. package/src/commons/Calendar/__test__/Calendar.test.js +0 -7
  43. package/src/commons/CircleButton/__test__/CircleButton.test.js +2 -2
  44. package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +11 -25
  45. package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +27 -20
  46. package/src/commons/Dashboard/MyUnit/index.js +0 -1
  47. package/src/commons/DateTimeRangeChange/DateTimeButton.js +2 -2
  48. package/src/commons/DateTimeRangeChange/__test__/DateTimeButton.test.js +4 -4
  49. package/src/commons/DateTimeRangeChange/index.js +2 -2
  50. package/src/commons/Device/ConnectedViewHeader.js +2 -2
  51. package/src/commons/Device/DisconnectedView.js +2 -2
  52. package/src/commons/Device/Emergency/EmergencyDetail.js +3 -3
  53. package/src/commons/Device/Emergency/__test__/EmergencyDetail.test.js +2 -2
  54. package/src/commons/Device/FlatListItems.js +3 -3
  55. package/src/commons/Device/Hanet/ItemHanetDevice.js +3 -3
  56. package/src/commons/Device/Hanet/ItemHanetDevice.test.js +3 -11
  57. package/src/commons/Device/ItemAddNew/index.js +2 -2
  58. package/src/commons/Device/ItemDevice.js +2 -2
  59. package/src/commons/Device/SonosSpeaker/index.js +3 -3
  60. package/src/commons/Device/WaterPurifierStatus/AlertStatusMachine.js +2 -2
  61. package/src/commons/Device/WaterQualitySensor/QualityIndicatorsItem.js +2 -6
  62. package/src/commons/DisplayChecking/index.js +2 -2
  63. package/src/commons/EmergencyButton/AlertSendConfirm.js +2 -2
  64. package/src/commons/EmergencyButton/AlertSent.js +6 -2
  65. package/src/commons/FieldTemplate/ChooseUserField/index.js +2 -2
  66. package/src/commons/FieldTemplate/PasscodeField/__test__/index.test.js +5 -5
  67. package/src/commons/FieldTemplate/ScheduleField/__test__/index.test.js +9 -9
  68. package/src/commons/Form/CurrencyInput.js +1 -15
  69. package/src/commons/GroupCheckBox/__test__/GroupCheckBox.test.js +1 -22
  70. package/src/commons/Header/HeaderCustom.js +8 -3
  71. package/src/commons/HeaderAni/index.js +2 -2
  72. package/src/commons/IconComponent/index.js +3 -3
  73. package/src/commons/MediaPlayerDetail/MediaPlayerFull.js +1 -1
  74. package/src/commons/MediaPlayerDetail/__test__/MediaPlayerFull.test.js +12 -48
  75. package/src/commons/MenuActionAddnew/__test__/MenuActionAddNew.test.js +1 -1
  76. package/src/commons/MenuActionList/__test__/MenuActionList.test.js +1 -0
  77. package/src/commons/NavBar/index.js +2 -2
  78. package/src/commons/OneTapTemplate/NumberUpDownActionTemplate.js +3 -3
  79. package/src/commons/PreventAccess/__test__/PreventAccess.test.js +1 -13
  80. package/src/commons/Processing/__test__/Connecting.test.js +3 -14
  81. package/src/commons/SearchLocation/index.js +3 -3
  82. package/src/commons/SelectActionCard/index.js +2 -2
  83. package/src/commons/SelectSubUnit/__test__/SelectSubUnit.test.js +1 -18
  84. package/src/commons/SelectSubUnit/index.js +2 -2
  85. package/src/commons/SelectUnit/__test__/SelectUnit.test.js +1 -13
  86. package/src/commons/Sharing/BtnRemoveMember.js +2 -2
  87. package/src/commons/Sharing/StationDevicePermissions.js +2 -2
  88. package/src/commons/Sharing/WrapHeaderScrollable.js +1 -1
  89. package/src/commons/Sharing/__test__/ButtonRemoveMember.test.js +2 -2
  90. package/src/commons/Sharing/__test__/DevicePermissionsCheckbox.test.js +1 -1
  91. package/src/commons/SubUnit/DeviceTemplate/ConfigAndEvaluation/ConfigAndEvaluation.js +2 -2
  92. package/src/commons/SubUnit/DeviceTemplate/ConfigValue/ConfigValue.js +2 -2
  93. package/src/commons/SubUnit/DeviceTemplate/EvaluationOverConfig/EvaluationOverConfig.js +2 -2
  94. package/src/commons/SubUnit/Item/index.js +3 -3
  95. package/src/commons/SubUnit/OneTap/ItemOneTap.js +2 -2
  96. package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +11 -8
  97. package/src/commons/SubUnit/__test__/Favorites.test.js +1 -13
  98. package/src/commons/SubUnit/__test__/ShortDetail.test.js +5 -16
  99. package/src/commons/SummaryItem/index.js +22 -23
  100. package/src/commons/Tabbar/__test__/index.test.js +0 -11
  101. package/src/commons/Unit/HeaderUnit/index.js +84 -84
  102. package/src/commons/Unit/SharedUnit.js +7 -7
  103. package/src/commons/Unit/__test__/HeaderUnit.test.js +29 -52
  104. package/src/commons/Unit/__test__/SharedUnit.test.js +94 -105
  105. package/src/commons/UnitSummary/AirQuality/SegmentedRoundDisplay/index.js +11 -30
  106. package/src/commons/WrapParallaxScrollView/index.js +21 -50
  107. package/src/configs/API.js +1 -2
  108. package/src/hooks/Common/__test__/useAndroidTranslucentStatusBar.test.js +4 -15
  109. package/src/hooks/Common/useIsOwnerOfUnit.js +1 -1
  110. package/src/hooks/IoT/__test__/useRemoteControl.test.js +1 -1
  111. package/src/hooks/IoT/__test__/useWatchConfigs.test.js +6 -21
  112. package/src/iot/RemoteControl/HomeAssistant.js +1 -1
  113. package/src/iot/RemoteControl/__test__/Bluetooth.test.js +234 -232
  114. package/src/navigations/AddDeviceStack.js +2 -2
  115. package/src/navigations/AddGatewayStack.js +2 -2
  116. package/src/navigations/AddLGDeviceStack.js +2 -2
  117. package/src/navigations/AddMemberStack.js +2 -2
  118. package/src/navigations/AddSubUnitStack.js +2 -2
  119. package/src/navigations/AddUnitStack.js +2 -2
  120. package/src/navigations/AllGatewayStack.js +2 -2
  121. package/src/navigations/AutomateStack.js +4 -4
  122. package/src/navigations/EmergencyContactsStack.js +4 -4
  123. package/src/navigations/GatewayStack.js +2 -2
  124. package/src/navigations/HanetCameraStack.js +2 -2
  125. package/src/navigations/Main.js +2 -2
  126. package/src/navigations/NotificationStack.js +2 -2
  127. package/src/navigations/SharedStack.js +8 -6
  128. package/src/navigations/SmartAccountStack.js +2 -2
  129. package/src/navigations/SmartIrStack.js +2 -2
  130. package/src/navigations/SmartLockStack.js +2 -2
  131. package/src/navigations/SmartStack.js +2 -2
  132. package/src/navigations/TemplateStack.js +2 -2
  133. package/src/navigations/UnitStack.js +4 -12
  134. package/src/navigations/utils.js +1 -4
  135. package/src/screens/ActivityLog/hooks/index.js +7 -4
  136. package/src/screens/ActivityLog/index.js +2 -2
  137. package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +4 -21
  138. package/src/screens/AddCommon/__test__/SelectUnit.test.js +7 -19
  139. package/src/screens/AddLocationMaps/__test__/index.test.js +3 -13
  140. package/src/screens/AddLocationMaps/index.js +11 -6
  141. package/src/screens/AddNewDevice/__test__/AddNewDevice.test.js +3 -20
  142. package/src/screens/AddNewGateway/PlugAndPlay/__test__/FirstWarning.test.js +11 -18
  143. package/src/screens/AddNewGateway/PlugAndPlay/__test__/ZigbeeDeviceConnectGuide.test.js +4 -21
  144. package/src/screens/AddNewGateway/RenameNewDevices.js +2 -2
  145. package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +3 -3
  146. package/src/screens/AddNewGateway/__test__/ConnectingModbusDevice.test.js +0 -17
  147. package/src/screens/AddNewGateway/__test__/ConnectingWifiDevice.test.js +4 -19
  148. package/src/screens/AddNewGateway/__test__/ConnectingWifiGuide.test.js +3 -15
  149. package/src/screens/AddNewGateway/__test__/ConnectingZigbeeDevice.test.js +31 -51
  150. package/src/screens/AddNewGateway/__test__/RenameNewDevices.test.js +9 -22
  151. package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +12 -19
  152. package/src/screens/AddNewGateway/__test__/ScanModbusQR.test.js +6 -16
  153. package/src/screens/AddNewGateway/__test__/ScanWifiDeviceQR.test.js +4 -15
  154. package/src/screens/AddNewGateway/__test__/SelectDeviceSubUnit.test.js +3 -3
  155. package/src/screens/AddNewGateway/__test__/SelectDeviceType.test.js +18 -10
  156. package/src/screens/AddNewGateway/__test__/SelectDeviceUnit.test.js +1 -1
  157. package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +12 -9
  158. package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +12 -9
  159. package/src/screens/AddNewGateway/__test__/ShareWifiPassword.test.js +7 -21
  160. package/src/screens/AllGateway/DetailConfigActionInternal/__test__/index.test.js +0 -20
  161. package/src/screens/AllGateway/DetailConfigActionModbus/__test__/index.test.js +7 -24
  162. package/src/screens/AllGateway/DeviceGatewayInfo/__test__/index.test.js +0 -17
  163. package/src/screens/AllGateway/DeviceInternalDetail/__test__/index.test.js +84 -100
  164. package/src/screens/AllGateway/DeviceModbusDetail/__test__/index.test.js +64 -82
  165. package/src/screens/AllGateway/DeviceZigbeeDetail/__test__/index.test.js +36 -55
  166. package/src/screens/AllGateway/GatewayConnectionMethods/__test__/index.test.js +9 -18
  167. package/src/screens/AllGateway/GatewayDetail/__test__/index.test.js +10 -37
  168. package/src/screens/AllGateway/GatewayInfo/__test__/index.test.js +7 -32
  169. package/src/screens/AllGateway/__test__/index.test.js +1 -14
  170. package/src/screens/AllGateway/components/GatewayItem/__test__/index.test.js +0 -12
  171. package/src/screens/AllGateway/components/TabPaneCT/__test__/index.test.js +1 -13
  172. package/src/screens/AllGateway/components/TabPaneCT/index.js +1 -1
  173. package/src/screens/AllGateway/hooks/__test__/index.test.js +1 -8
  174. package/src/screens/AllGateway/test-utils.js +1 -1
  175. package/src/screens/Automate/AddNewAction/NewActionWrapper.js +2 -2
  176. package/src/screens/Automate/AddNewAction/SetupConfigCondition.js +27 -28
  177. package/src/screens/Automate/AddNewAction/__test__/ChooseAction.test.js +3 -3
  178. package/src/screens/Automate/AddNewAction/__test__/ChooseConfig.test.js +8 -5
  179. package/src/screens/Automate/AddNewAction/__test__/SelectControlDevices.test.js +2 -2
  180. package/src/screens/Automate/AddNewAction/__test__/SelectMonitorDevices.test.js +1 -18
  181. package/src/screens/Automate/AddNewAction/__test__/SetupConfigCondition.test.js +17 -15
  182. package/src/screens/Automate/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +4 -4
  183. package/src/screens/Automate/EditActionsList/__tests__/UpdateActionScript.test.js +38 -55
  184. package/src/screens/Automate/EditActionsList/__tests__/UpdateDelayScript.test.js +0 -18
  185. package/src/screens/Automate/EditActionsList/__tests__/UpdateNotifyScript.test.js +1 -19
  186. package/src/screens/Automate/EditActionsList/__tests__/index.test.js +14 -11
  187. package/src/screens/Automate/OneTap/__test__/AddNewOneTap.test.js +3 -3
  188. package/src/screens/Automate/Scenario/__test__/AddNewOneTap.test.js +2 -2
  189. package/src/screens/Automate/ScriptDetail/Components/AddActionScript.js +2 -2
  190. package/src/screens/Automate/ScriptDetail/__test__/index.test.js +33 -25
  191. package/src/screens/Automate/ScriptDetail/index.js +6 -6
  192. package/src/screens/Automate/SetSchedule/__test__/index.test.js +4 -4
  193. package/src/screens/Automate/SetSchedule/components/RowItem.js +3 -3
  194. package/src/screens/Automate/Styles/indexStyles.js +6 -0
  195. package/src/screens/Automate/__test__/MultiUnits.test.js +7 -7
  196. package/src/screens/Automate/__test__/index.test.js +9 -34
  197. package/src/screens/Automate/index.js +50 -33
  198. package/src/screens/ChangePosition/__test__/index.test.js +1 -14
  199. package/src/screens/ConfirmUnitDeletion/__test__/ConfirmUnitDeletion.test.js +1 -23
  200. package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +1 -11
  201. package/src/screens/Device/EditDevice/index.js +2 -2
  202. package/src/screens/Device/__test__/detail.test.js +11 -11
  203. package/src/screens/Device/__test__/sensorDisplayItem.test.js +0 -12
  204. package/src/screens/Device/detail.js +14 -12
  205. package/src/screens/Drawer/Drawer.test.js +3 -11
  206. package/src/screens/Drawer/index.js +3 -4
  207. package/src/screens/EmergencyContacts/EmergencyContactsList.js +4 -8
  208. package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +3 -3
  209. package/src/screens/EmergencyContacts/__test__/EmergencyContactAddNew.test.js +4 -17
  210. package/src/screens/EmergencyContacts/__test__/EmergencyContactList.test.js +3 -14
  211. package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +0 -10
  212. package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
  213. package/src/screens/EnterPassword/__test__/EnterPassword.test.js +4 -17
  214. package/src/screens/GuestInfo/__test__/index.test.js +0 -11
  215. package/src/screens/GuestInfo/components/RowGuestInfo.js +2 -2
  216. package/src/screens/GuestInfo/index.js +2 -2
  217. package/src/screens/HanetCamera/Detail.js +6 -2
  218. package/src/screens/HanetCamera/ManageAccess.js +3 -4
  219. package/src/screens/HanetCamera/MemberInfo.js +4 -4
  220. package/src/screens/HanetCamera/__test__/CaptureFaceID.test.js +2 -16
  221. package/src/screens/HanetCamera/__test__/Detail.test.js +1 -12
  222. package/src/screens/HanetCamera/__test__/ManageAccess.test.js +5 -16
  223. package/src/screens/HanetCamera/__test__/MemberInfo.test.js +5 -18
  224. package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +2 -2
  225. package/src/screens/ManageAccess/__test__/ManageAccess.test.js +3 -19
  226. package/src/screens/ManageAccess/index.js +3 -3
  227. package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +7 -7
  228. package/src/screens/Notification/__test__/Notification.test.js +5 -15
  229. package/src/screens/Notification/__test__/NotificationItem.test.js +9 -19
  230. package/src/screens/Notification/index.js +5 -5
  231. package/src/screens/PlayBackCamera/__test__/index.test.js +13 -22
  232. package/src/screens/PlayBackCamera/index.js +2 -2
  233. package/src/screens/ScanChipQR/components/QRScan/__test__/QRScan.test.js +0 -11
  234. package/src/screens/ScanChipQR/components/QRScan/index.js +3 -3
  235. package/src/screens/SelectUnit/__test__/index.test.js +9 -29
  236. package/src/screens/SelectUnit/index.js +2 -2
  237. package/src/screens/SharedUnit/TabHeader.js +2 -2
  238. package/src/screens/SharedUnit/index.js +5 -0
  239. package/src/screens/Sharing/Components/EndDevice.js +3 -3
  240. package/src/screens/Sharing/SelectUser.js +5 -4
  241. package/src/screens/Sharing/UnitMemberList.js +7 -6
  242. package/src/screens/Sharing/__test__/InfoMemberUnit.test.js +9 -4
  243. package/src/screens/Sharing/__test__/SelectShareDevice.test.js +2 -15
  244. package/src/screens/Sharing/__test__/SelectUser.test.js +2 -22
  245. package/src/screens/Sharing/__test__/UnitMemberList.test.js +2 -2
  246. package/src/screens/Sharing/__test__/UpdateShareDevice.test.js +4 -17
  247. package/src/screens/Sharing/hooks/__test__/index.test.js +2 -13
  248. package/src/screens/SmartAccount/Connecting/index.js +0 -2
  249. package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +3 -18
  250. package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +11 -21
  251. package/src/screens/SmartAccount/SuccessfullyConnected/index.js +3 -4
  252. package/src/screens/SmartAccount/__test__/Connecting.test.js +30 -36
  253. package/src/screens/SmartAccount/__test__/SmartAccount.test.js +12 -21
  254. package/src/screens/SmartIr/__test__/GroupButtonByType.test.js +8 -17
  255. package/src/screens/SmartIr/__test__/SelectBrand.test.js +1 -11
  256. package/src/screens/SmartIr/__test__/SelectDeviceType.test.js +1 -12
  257. package/src/screens/SmartIr/__test__/SmartIr.test.js +3 -11
  258. package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +6 -5
  259. package/src/screens/SmartIr/components/SelectBrand.js +2 -2
  260. package/src/screens/SubUnit/AddSubUnit.js +1 -0
  261. package/src/screens/SubUnit/EditSubUnit.js +3 -2
  262. package/src/screens/SubUnit/ManageSubUnit.js +5 -5
  263. package/src/screens/SubUnit/__test__/AddSubUnit.test.js +9 -31
  264. package/src/screens/SubUnit/__test__/EditSubUnit.test.js +12 -30
  265. package/src/screens/SubUnit/__test__/ManageSubUnit.test.js +2 -2
  266. package/src/screens/SubUnit/hooks/__test__/useManageSubUnit.test.js +0 -12
  267. package/src/screens/SyncLGDevice/__test__/AddLGDevice.test.js +7 -20
  268. package/src/screens/Template/__test__/EditTemplate.test.js +4 -15
  269. package/src/screens/Template/__test__/GatewayList.test.js +0 -9
  270. package/src/screens/Template/__test__/detail.test.js +8 -8
  271. package/src/screens/Template/__test__/index.test.js +3 -14
  272. package/src/screens/Template/detail.js +2 -2
  273. package/src/screens/Unit/Detail.js +12 -53
  274. package/src/screens/Unit/SelectAddToFavorites.js +2 -2
  275. package/src/screens/Unit/SelectAddress.js +9 -4
  276. package/src/screens/Unit/SmartAccountItem.js +2 -2
  277. package/src/screens/Unit/Station/__test__/index.test.js +2 -2
  278. package/src/screens/Unit/Summaries.js +24 -29
  279. package/src/screens/Unit/__test__/AddMenu.test.js +5 -2
  280. package/src/screens/Unit/__test__/CheckSendEmail.test.js +0 -12
  281. package/src/screens/Unit/__test__/ChooseLocation.test.js +1 -4
  282. package/src/screens/Unit/__test__/Detail.test.js +14 -12
  283. package/src/screens/Unit/__test__/ManageUnit.test.js +2 -17
  284. package/src/screens/Unit/__test__/MoreMenu.test.js +1 -11
  285. package/src/screens/Unit/__test__/SelectAddToFavorites.test.js +3 -14
  286. package/src/screens/Unit/__test__/SelectAddress.test.js +4 -17
  287. package/src/screens/Unit/__test__/SmartAccount.test.js +14 -11
  288. package/src/screens/Unit/__test__/SmartAccountItem.test.js +0 -11
  289. package/src/screens/Unit/__test__/Summaries.test.js +2 -14
  290. package/src/screens/Unit/components/AutomateScript/index.js +2 -2
  291. package/src/screens/Unit/components/ButtonWrapper/index.js +3 -4
  292. package/src/screens/Unit/components/Header/index.js +5 -4
  293. package/src/screens/Unit/components/SharedUnit/index.js +5 -5
  294. package/src/screens/Unit/components/__test__/Header.test.js +1 -14
  295. package/src/screens/Unit/components/__test__/MyUnitDevice.test.js +1 -11
  296. package/src/screens/Unit/components/__test__/SharedUnit.test.js +1 -11
  297. package/src/screens/UnitSummary/__test__/index.test.js +51 -17
  298. package/src/screens/UnitSummary/components/3PPowerConsumption/__test__/3PPowerConsumption.test.js +8 -25
  299. package/src/screens/UnitSummary/components/AirQuality/__test__/index.test.js +1 -7
  300. package/src/screens/UnitSummary/components/AirQuality/index.js +8 -3
  301. package/src/screens/UnitSummary/components/PowerConsumption/__test__/PowerConsumption.test.js +0 -11
  302. package/src/screens/UnitSummary/components/RunningDevices/__test__/index.test.js +1 -16
  303. package/src/screens/UnitSummary/components/Temperature/index.js +5 -1
  304. package/src/screens/UnitSummary/components/UvIndex/__test__/index.test.js +0 -8
  305. package/src/screens/UnitSummary/components/UvIndex/index.js +6 -2
  306. package/src/screens/UnitSummary/components/WaterQuality/Item/index.js +2 -2
  307. package/src/screens/UnitSummary/components/WaterQuality/__test__/index.test.js +14 -18
  308. package/src/screens/UnitSummary/components/__test__/UnitSummary.test.js +8 -8
  309. package/src/screens/UnitSummary/index.js +4 -8
  310. package/src/utils/Apis/axios.js +4 -2
  311. package/src/utils/Converter/__test__/timer.test.js +8 -0
  312. package/src/utils/Functions/preloadImages.js +13 -14
  313. package/src/utils/Monitor.js +2 -3
  314. package/src/utils/Route/index.js +0 -1
  315. package/src/utils/Storage.js +1 -1
  316. package/src/commons/Device/WindSpeed/LinearChart/__test__/LinearChart.test.js +0 -48
  317. package/src/commons/Device/WindSpeed/LinearChart/index.js +0 -155
  318. package/src/screens/AddNewGateway/hooks/__Tests__/index.test.js +0 -27
  319. package/src/screens/AddNewGateway/hooks/index.js +0 -31
  320. package/src/screens/SubUnit/Detail.js +0 -150
  321. package/src/screens/SubUnit/__test__/Detail.test.js +0 -125
  322. package/src/screens/UnitSummary/components/Temperature/ChartAverage/index.js +0 -62
  323. package/src/screens/UnitSummary/components/Temperature/__test__/ChartAverage.test.js +0 -17
  324. package/src/utils/dateHelper/getTickValues.js +0 -22
@@ -20,16 +20,6 @@ const wrapComponent = (route) => (
20
20
 
21
21
  const mock = new MockAdapter(api.axiosInstance);
22
22
 
23
- const mockGoBack = jest.fn();
24
- jest.mock('@react-navigation/native', () => {
25
- return {
26
- ...jest.requireActual('@react-navigation/native'),
27
- useNavigation: () => ({
28
- goBack: mockGoBack,
29
- }),
30
- };
31
- });
32
-
33
23
  describe('Test SelectAddToFavorites', () => {
34
24
  let tree, route;
35
25
  let dataDevice = [
@@ -101,7 +91,6 @@ describe('Test SelectAddToFavorites', () => {
101
91
  ];
102
92
 
103
93
  beforeEach(() => {
104
- mockGoBack.mockClear();
105
94
  mock.resetHistory();
106
95
  route = {
107
96
  params: {
@@ -165,7 +154,7 @@ describe('Test SelectAddToFavorites', () => {
165
154
  await bottomButton.props.onPressMain();
166
155
  });
167
156
  expect(mock.history.post).toHaveLength(2);
168
- expect(mockGoBack).toBeCalled();
157
+ expect(global.mockedGoBack).toBeCalled();
169
158
  });
170
159
 
171
160
  it('test select only devices then click done', async () => {
@@ -198,7 +187,7 @@ describe('Test SelectAddToFavorites', () => {
198
187
  await bottomButton.props.onPressMain();
199
188
  });
200
189
  expect(mock.history.post).toHaveLength(1);
201
- expect(mockGoBack).toBeCalled();
190
+ expect(global.mockedGoBack).toBeCalled();
202
191
  });
203
192
 
204
193
  it('test select only scripts then click done', async () => {
@@ -227,7 +216,7 @@ describe('Test SelectAddToFavorites', () => {
227
216
  await bottomButton.props.onPressMain();
228
217
  });
229
218
  expect(mock.history.post).toHaveLength(1);
230
- expect(mockGoBack).toBeCalled();
219
+ expect(global.mockedGoBack).toBeCalled();
231
220
  });
232
221
 
233
222
  it('test click done call api fail not goBack', async () => {
@@ -28,18 +28,6 @@ const wrapComponent = (route) => (
28
28
 
29
29
  const mock = new MockAdapter(api.axiosInstance);
30
30
 
31
- const mockNavigate = jest.fn();
32
- const mockGoBack = jest.fn();
33
- jest.mock('@react-navigation/native', () => {
34
- return {
35
- ...jest.requireActual('@react-navigation/native'),
36
- useNavigation: () => ({
37
- navigate: mockNavigate,
38
- goBack: mockGoBack,
39
- }),
40
- };
41
- });
42
-
43
31
  jest.mock('react-native-maps', () => {
44
32
  const { forwardRef } = require('react');
45
33
  const { View } = require('react-native');
@@ -105,7 +93,6 @@ describe('Test SelectAddress', () => {
105
93
  },
106
94
  };
107
95
  mockUpdateLocation.mockClear();
108
- mockGoBack.mockClear();
109
96
  mock.resetHistory();
110
97
  });
111
98
 
@@ -119,7 +106,7 @@ describe('Test SelectAddress', () => {
119
106
  await bottomButton.props.onPressMain();
120
107
  });
121
108
  expect(mockUpdateLocation).not.toBeCalled();
122
- expect(mockGoBack).not.toBeCalled();
109
+ expect(global.mockedGoBack).not.toBeCalled();
123
110
  });
124
111
 
125
112
  it('test search location', async () => {
@@ -176,7 +163,7 @@ describe('Test SelectAddress', () => {
176
163
  await bottomButton.props.onPressMain();
177
164
  });
178
165
  expect(mockUpdateLocation).toBeCalledWith('1');
179
- expect(mockGoBack).toBeCalled();
166
+ expect(global.mockedGoBack).toBeCalled();
180
167
  });
181
168
 
182
169
  it('test chose search result will center map', async () => {
@@ -336,7 +323,7 @@ describe('Test SelectAddress', () => {
336
323
  await act(async () => {
337
324
  await bottomButton.props.onPressMain();
338
325
  });
339
- expect(mockGoBack).toBeCalled();
326
+ expect(global.mockedGoBack).not.toBeCalled();
340
327
  });
341
328
 
342
329
  it('test get current location failed permission denied', async () => {
@@ -469,6 +456,6 @@ describe('Test SelectAddress', () => {
469
456
  await act(async () => {
470
457
  await button.props.onPress();
471
458
  });
472
- expect(mockNavigate).toBeCalled();
459
+ expect(global.mockedNavigate).toBeCalled();
473
460
  });
474
461
  });
@@ -50,9 +50,9 @@ describe('Test SmartAccount', () => {
50
50
  },
51
51
  ],
52
52
  };
53
- const mockNavigate = useNavigation().navigate;
53
+ const mockedNavigate = useNavigation().navigate;
54
54
  beforeEach(() => {
55
- mockNavigate.mockReset();
55
+ mockedNavigate.mockReset();
56
56
  mock.resetHistory();
57
57
  });
58
58
 
@@ -79,15 +79,18 @@ describe('Test SmartAccount', () => {
79
79
  await act(async () => {
80
80
  await alertAction[0].props.leftButtonClick();
81
81
  });
82
- expect(mockNavigate).toHaveBeenCalledWith(Routes.SmartAccountStack, {
83
- screen: Routes.ListDeviceSmartAccount,
84
- params: {
85
- username: response.data[0].username,
86
- brand: response.data[0].brand,
87
- smart_account_id: response.data[0].id,
88
- unit_id: route.params.unitId,
89
- },
90
- });
82
+ expect(global.mockedNavigate).toHaveBeenCalledWith(
83
+ Routes.SmartAccountStack,
84
+ {
85
+ screen: Routes.ListDeviceSmartAccount,
86
+ params: {
87
+ username: response.data[0].username,
88
+ brand: response.data[0].brand,
89
+ smart_account_id: response.data[0].id,
90
+ unit_id: route.params.unitId,
91
+ },
92
+ }
93
+ );
91
94
  const menuActionMore = instance.findByType(MenuActionMore);
92
95
  await act(async () => {
93
96
  menuActionMore.props.onItemClick({ action: 'remove' });
@@ -19,17 +19,6 @@ const wrapComponent = (route) => (
19
19
  </SCProvider>
20
20
  );
21
21
 
22
- const mockedNavigate = jest.fn();
23
-
24
- jest.mock('@react-navigation/native', () => {
25
- return {
26
- ...jest.requireActual('@react-navigation/native'),
27
- useNavigation: () => ({
28
- goBack: mockedNavigate,
29
- }),
30
- };
31
- });
32
-
33
22
  describe('Test SmartAccountItem', () => {
34
23
  let tree;
35
24
  it('test render SmartAccountItem', async () => {
@@ -19,17 +19,6 @@ const wrapComponent = (props) => (
19
19
  </SCProvider>
20
20
  );
21
21
 
22
- const mockedNavigate = jest.fn();
23
- jest.mock('@react-navigation/native', () => {
24
- return {
25
- ...jest.requireActual('@react-navigation/native'),
26
- useIsFocused: jest.fn(),
27
- useNavigation: () => ({
28
- navigate: mockedNavigate,
29
- }),
30
- };
31
- });
32
-
33
22
  jest.mock('react-native-onesignal', () => {
34
23
  return {
35
24
  setNotificationWillShowInForegroundHandler: jest.fn(),
@@ -52,7 +41,6 @@ describe('Test Summaries', () => {
52
41
  id: 1,
53
42
  },
54
43
  };
55
- mockedNavigate.mockReset();
56
44
  mock.reset();
57
45
  });
58
46
 
@@ -76,7 +64,7 @@ describe('Test Summaries', () => {
76
64
  await act(async () => {
77
65
  items[0].props.goToSummary({ id: 1 });
78
66
  });
79
- expect(mockedNavigate).toBeCalled();
67
+ expect(global.mockedNavigate).toBeCalled();
80
68
  });
81
69
 
82
70
  it('render Summaries receive noti with summary_id then not reload', async () => {
@@ -92,7 +80,7 @@ describe('Test Summaries', () => {
92
80
  await act(async () => {
93
81
  tree = await renderer.create(wrapComponent(props));
94
82
  });
95
- expect(mockedNavigate).not.toBeCalled();
83
+ expect(global.mockedNavigate).not.toBeCalled();
96
84
  });
97
85
 
98
86
  it('fetch data non-stop', async () => {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, TouchableWithoutFeedback } from 'react-native';
3
- import { IconOutline } from '@ant-design/icons-react-native';
3
+ import AntDesign from 'react-native-vector-icons/AntDesign';
4
4
  import { useTranslations } from '../../../../hooks/Common/useTranslations';
5
5
  import Text from '../../../../commons/Text';
6
6
  import FImage from '../../../../commons/FImage';
@@ -61,7 +61,7 @@ const AutomateScript = ({ automate, onPress, isSelected }) => {
61
61
  <Text numberOfLines={1} type={'Label'} color={Colors.Gray7}>
62
62
  {t('created_by', { name: author })}
63
63
  </Text>
64
- <IconOutline name="right" size={12} />
64
+ <AntDesign name="right" size={12} />
65
65
  </View>
66
66
  </View>
67
67
  </View>
@@ -2,8 +2,7 @@ import React, { memo } from 'react';
2
2
  import { View, TouchableOpacity, Image } from 'react-native';
3
3
  import Text from '../../../../commons/Text';
4
4
  import { Colors } from '../../../../configs';
5
- import { Icon } from '@ant-design/react-native';
6
- import { IconOutline } from '@ant-design/icons-react-native';
5
+ import AntDesign from 'react-native-vector-icons/AntDesign';
7
6
  import { AccessibilityLabel } from '../../../../configs/Constants';
8
7
  import styles from './styles';
9
8
 
@@ -47,10 +46,10 @@ const ButtonWrapper = ({
47
46
  <Image source={{ uri: value }} style={styles.avatar} />
48
47
  ) : (
49
48
  <View style={styles.avatar}>
50
- <Icon name={'user'} size={27} />
49
+ <AntDesign name={'user'} size={27} />
51
50
  </View>
52
51
  )}
53
- <IconOutline name="right" size={20} color={Colors.Gray7} />
52
+ <AntDesign name="right" size={20} color={Colors.Gray7} />
54
53
  </View>
55
54
  </View>
56
55
  {children}
@@ -1,7 +1,8 @@
1
1
  import React, { useCallback, useRef, useState } from 'react';
2
2
  import { Dimensions, View, TouchableOpacity, StyleSheet } from 'react-native';
3
3
  import Popover from '../../../../commons/Popover';
4
- import { IconOutline } from '@ant-design/icons-react-native';
4
+ import AntDesign from 'react-native-vector-icons/AntDesign';
5
+ import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
5
6
  import { useTranslations } from '../../../../hooks/Common/useTranslations';
6
7
 
7
8
  import { Colors } from '../../../../configs';
@@ -97,7 +98,7 @@ const HeaderComponent = ({ title, goBack, dark, hideRight, style }) => {
97
98
  onPress={() => setShowModal(true)}
98
99
  style={styles.rightHeader}
99
100
  >
100
- <IconOutline
101
+ <AntDesign
101
102
  name="plus"
102
103
  size={32}
103
104
  color={dark ? Colors.Black : Colors.White}
@@ -107,8 +108,8 @@ const HeaderComponent = ({ title, goBack, dark, hideRight, style }) => {
107
108
  onPress={() => setMenu(true)}
108
109
  style={styles.rightHeader}
109
110
  >
110
- <IconOutline
111
- name="more"
111
+ <MaterialIcons
112
+ name="more-vert"
112
113
  size={30}
113
114
  color={dark ? Colors.Black : Colors.White}
114
115
  />
@@ -1,7 +1,7 @@
1
1
  import React, { Fragment, useCallback } from 'react';
2
2
  import { View, Image, TouchableOpacity } from 'react-native';
3
3
  import { useTranslations } from '../../../../hooks/Common/useTranslations';
4
- import { IconOutline, IconFill } from '@ant-design/icons-react-native';
4
+ import AntDesign from 'react-native-vector-icons/AntDesign';
5
5
 
6
6
  import { API, Colors, Images } from '../../../../configs';
7
7
  import Text from '../../../../commons/Text';
@@ -88,7 +88,7 @@ const SharedUnit = ({
88
88
  {isOptions && (
89
89
  <Fragment>
90
90
  {item.is_pin ? (
91
- <IconFill
91
+ <AntDesign
92
92
  name="pushpin"
93
93
  size={20}
94
94
  color={Colors.Blue10}
@@ -98,7 +98,7 @@ const SharedUnit = ({
98
98
  }
99
99
  />
100
100
  ) : (
101
- <IconOutline
101
+ <AntDesign
102
102
  name="pushpin"
103
103
  size={20}
104
104
  onPress={addPinSharedUnit}
@@ -106,7 +106,7 @@ const SharedUnit = ({
106
106
  />
107
107
  )}
108
108
  {item.is_star ? (
109
- <IconFill
109
+ <AntDesign
110
110
  name="star"
111
111
  size={20}
112
112
  color={Colors.Yellow6}
@@ -116,7 +116,7 @@ const SharedUnit = ({
116
116
  }
117
117
  />
118
118
  ) : (
119
- <IconOutline
119
+ <AntDesign
120
120
  name="star"
121
121
  size={20}
122
122
  onPress={addStarSharedUnit}
@@ -17,19 +17,6 @@ const wrapComponent = (title, goBack, dark, hideRight) => (
17
17
  </SCProvider>
18
18
  );
19
19
 
20
- const mockedNavigate = jest.fn();
21
- const mockedGoBack = jest.fn();
22
- jest.mock('@react-navigation/native', () => {
23
- return {
24
- ...jest.requireActual('@react-navigation/native'),
25
- useNavigation: () => ({
26
- navigate: mockedNavigate,
27
- goBack: mockedGoBack,
28
- }),
29
- useIsFocused: () => true,
30
- };
31
- });
32
-
33
20
  describe('Test Header', () => {
34
21
  let tree;
35
22
  it('test hideModal', async () => {
@@ -97,6 +84,6 @@ describe('Test Header', () => {
97
84
  await act(async () => {
98
85
  touchableOpacity[0].props.onPress();
99
86
  });
100
- expect(mockedGoBack).toHaveBeenCalled();
87
+ expect(global.mockedGoBack).toHaveBeenCalled();
101
88
  });
102
89
  });
@@ -7,16 +7,6 @@ import MyUnitDevice from '../MyUnitDevice';
7
7
  import ItemQuickAction from '../../../../commons/Action/ItemQuickAction';
8
8
  import Text from '../../../../commons/Text';
9
9
 
10
- const mockNavigate = jest.fn();
11
- jest.mock('@react-navigation/native', () => {
12
- return {
13
- ...jest.requireActual('@react-navigation/native'),
14
- useNavigation: () => ({
15
- navigate: mockNavigate,
16
- }),
17
- };
18
- });
19
-
20
10
  jest.mock('react', () => {
21
11
  return {
22
12
  ...jest.requireActual('react'),
@@ -57,7 +47,7 @@ describe('Test MyUnitDevice', () => {
57
47
  await act(async () => {
58
48
  await touches[0].props.onPress();
59
49
  });
60
- expect(mockNavigate).toHaveBeenCalled();
50
+ expect(global.mockedNavigate).toHaveBeenCalled();
61
51
  });
62
52
 
63
53
  it('Test render without status', async () => {
@@ -25,16 +25,6 @@ const wrapComponent = (item, navigation) => (
25
25
  </SCProvider>
26
26
  );
27
27
 
28
- const mockNavigate = jest.fn();
29
- jest.mock('@react-navigation/native', () => {
30
- return {
31
- ...jest.requireActual('@react-navigation/native'),
32
- useNavigation: () => ({
33
- navigate: mockNavigate,
34
- }),
35
- };
36
- });
37
-
38
28
  describe('Test SharedUnit', () => {
39
29
  let tree;
40
30
 
@@ -70,7 +60,7 @@ describe('Test SharedUnit', () => {
70
60
  await act(async () => {
71
61
  touchSharedUnit.props.onPress();
72
62
  });
73
- expect(mockNavigate).toHaveBeenCalledWith(Routes.UnitStack, {
63
+ expect(global.mockedNavigate).toHaveBeenCalledWith(Routes.UnitStack, {
74
64
  screen: Routes.UnitDetail,
75
65
  params: {
76
66
  unitId: 3,
@@ -20,22 +20,11 @@ import { mockSCStore } from '../../../context/mockStore';
20
20
  import api from '../../../utils/Apis/axios';
21
21
  import { WrapHeaderScrollable } from '../../../commons';
22
22
  import AirQuality from '../components/AirQuality';
23
+ import Text from '../../../commons/Text';
24
+ import { useConfigGlobalState } from '../../../iot/states';
23
25
 
24
26
  const mock = new MockAdapter(api.axiosInstance);
25
27
 
26
- const mockedNavigate = jest.fn();
27
-
28
- jest.mock('@react-navigation/native', () => {
29
- return {
30
- ...jest.requireActual('@react-navigation/native'),
31
- useNavigation: () => ({
32
- navigate: mockedNavigate,
33
- }),
34
- useIsFocused: () => true,
35
- useFocusEffect: (func) => func(),
36
- };
37
- });
38
-
39
28
  jest.mock('react-native-onesignal', () => {
40
29
  return {
41
30
  setNotificationWillShowInForegroundHandler: jest.fn(),
@@ -49,6 +38,10 @@ jest.mock('../../../hooks', () => {
49
38
  };
50
39
  });
51
40
 
41
+ jest.mock('../../../iot/states', () => ({
42
+ useConfigGlobalState: jest.fn(),
43
+ }));
44
+
52
45
  const wrapComponent = (route) => (
53
46
  <SCProvider initState={mockSCStore({})}>
54
47
  <UnitSummary route={route} />
@@ -60,6 +53,7 @@ describe('Test UnitSummary', () => {
60
53
 
61
54
  beforeEach(() => {
62
55
  mock.reset();
56
+ useConfigGlobalState.mockReturnValue([{}]);
63
57
  Date.now = jest.fn(() => new Date('2021-01-24T12:00:00.000Z'));
64
58
  route = {
65
59
  params: {
@@ -79,7 +73,9 @@ describe('Test UnitSummary', () => {
79
73
  let tree;
80
74
 
81
75
  it('onRefresh', async () => {
82
- mock.onGet(API.UNIT.UNIT_SUMMARY_DETAIL(1, 1)).reply(200);
76
+ mock.onGet(API.UNIT.UNIT_SUMMARY_DETAIL(1, 1)).reply(200, {
77
+ data: {},
78
+ });
83
79
  await act(async () => {
84
80
  tree = await create(wrapComponent(route));
85
81
  });
@@ -188,7 +184,9 @@ describe('Test UnitSummary', () => {
188
184
 
189
185
  it('test receive notification with summary_id then reload data', async () => {
190
186
  jest.useFakeTimers();
191
- mock.onGet(API.UNIT.UNIT_SUMMARY_DETAIL(1, 1)).reply(200);
187
+ mock.onGet(API.UNIT.UNIT_SUMMARY_DETAIL(1, 1)).reply(200, {
188
+ data: {},
189
+ });
192
190
  const dataNotification = {
193
191
  params: {
194
192
  summary_id: 1,
@@ -207,7 +205,9 @@ describe('Test UnitSummary', () => {
207
205
 
208
206
  it('test receive notification with other summary_id then not reload data', async () => {
209
207
  jest.useFakeTimers();
210
- mock.onGet(API.UNIT.UNIT_SUMMARY_DETAIL(1, 1)).reply(200);
208
+ mock.onGet(API.UNIT.UNIT_SUMMARY_DETAIL(1, 1)).reply(200, {
209
+ data: {},
210
+ });
211
211
  const dataNotification = {
212
212
  params: {
213
213
  summary_id: 2,
@@ -222,6 +222,7 @@ describe('Test UnitSummary', () => {
222
222
  await act(async () => {
223
223
  jest.runOnlyPendingTimers();
224
224
  });
225
+ expect(mock.history.get.length).toBe(1);
225
226
  });
226
227
 
227
228
  let list_value = [
@@ -286,13 +287,46 @@ describe('Test UnitSummary', () => {
286
287
  await act(async () => {
287
288
  await touch.props.onPress();
288
289
  });
289
- expect(mockedNavigate).toHaveBeenLastCalledWith(
290
+ expect(global.mockedNavigate).toHaveBeenLastCalledWith(
290
291
  UnitSummaryDetail.guideName
291
292
  );
292
293
  }
293
294
  });
294
295
  });
295
296
 
297
+ test('create Unit Summary temperature value', async () => {
298
+ mock
299
+ .onGet(
300
+ API.UNIT.UNIT_SUMMARY_DETAIL(
301
+ route.params.unitId,
302
+ route.params.summaryData.id
303
+ )
304
+ )
305
+ .reply(200, {
306
+ data: {
307
+ listConfigs: {
308
+ temp: 1,
309
+ },
310
+ },
311
+ });
312
+ route.params.summaryData.screen = Routes.Temperature;
313
+ useConfigGlobalState.mockReturnValue([
314
+ {
315
+ 1: {
316
+ value: 50,
317
+ },
318
+ },
319
+ ]);
320
+ await act(async () => {
321
+ tree = await create(wrapComponent(route));
322
+ });
323
+ const instance = tree.root;
324
+ const texts = instance.findAll((el) => {
325
+ return el.type === Text && el.props.children === '50 °C';
326
+ });
327
+ expect(texts).toHaveLength(1);
328
+ });
329
+
296
330
  it('Test render without params', async () => {
297
331
  useReceiveNotifications.mockImplementationOnce(() => ({
298
332
  dataNotification: {},
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React from 'react';
2
2
  import renderer, { act } from 'react-test-renderer';
3
3
  import { AccessibilityLabel } from '../../../../../configs/Constants';
4
4
  import { API } from '../../../../../configs';
@@ -7,30 +7,9 @@ import { SCProvider } from '../../../../../context';
7
7
  import { mockSCStore } from '../../../../../context/mockStore';
8
8
  import MockAdapter from 'axios-mock-adapter';
9
9
  import api from '../../../../../utils/Apis/axios';
10
+ import PMSensorIndicator from '../../../../../commons/Device/PMSensor/PMSensorIndicator';
10
11
 
11
12
  const mock = new MockAdapter(api.axiosInstance);
12
- const mockSetState = jest.fn();
13
-
14
- jest.mock('react', () => {
15
- return {
16
- ...jest.requireActual('react'),
17
- useState: jest.fn(),
18
- };
19
- });
20
-
21
- const mockedNavigate = jest.fn();
22
-
23
- jest.mock('@react-navigation/native', () => {
24
- return {
25
- ...jest.requireActual('@react-navigation/native'),
26
- useNavigation: () => ({
27
- navigate: mockedNavigate,
28
- }),
29
- useFocusEffect: (func) => func(),
30
- };
31
- });
32
-
33
- useState.mockImplementation((init) => [init, mockSetState]);
34
13
 
35
14
  const wrapComponent = (summaryDetail) => (
36
15
  <SCProvider initState={mockSCStore({})}>
@@ -59,7 +38,6 @@ describe('Test 3PPowerConsumption', () => {
59
38
  power_factor_1: 8,
60
39
  power_factor_2: 9,
61
40
  power_factor_3: 10,
62
- total_power: 11,
63
41
  },
64
42
  };
65
43
  await act(async () => {
@@ -85,6 +63,9 @@ describe('Test 3PPowerConsumption', () => {
85
63
  { id: 10, color: '#52C41A', title: 'Power Factor 3', measure: '' },
86
64
  ];
87
65
  expect(listIndicator.props.data).toEqual(resultList);
66
+
67
+ const indicator = instance.findByType(PMSensorIndicator);
68
+ expect(indicator.props.data).toHaveLength(0);
88
69
  });
89
70
 
90
71
  it('render 3PPowerConsumption with total_power', async () => {
@@ -100,6 +81,8 @@ describe('Test 3PPowerConsumption', () => {
100
81
  await act(async () => {
101
82
  tree = await renderer.create(wrapComponent(summaryDetail));
102
83
  });
103
- expect(mockSetState).toHaveBeenCalledWith([{}]);
84
+ const instance = tree.root;
85
+ const indicator = instance.findByType(PMSensorIndicator);
86
+ expect(indicator.props.data).toHaveLength(1);
104
87
  });
105
88
  });
@@ -12,13 +12,7 @@ import { Section, Text } from '../../../../../commons';
12
12
  import AccessibilityLabel from '../../../../../configs/AccessibilityLabel';
13
13
 
14
14
  new MockAdapter(api.axiosInstance);
15
- jest.mock('@react-navigation/native', () => {
16
- return {
17
- ...jest.requireActual('@react-navigation/native'),
18
- useRoute: jest.fn(),
19
- useFocusEffect: (func) => func(),
20
- };
21
- });
15
+
22
16
  const wrapComponent = (data) => (
23
17
  <SCProvider initState={mockSCStore({})}>
24
18
  <AirQuality {...data} />
@@ -1,6 +1,7 @@
1
1
  import React, { memo, useCallback, useMemo, useState } from 'react';
2
2
  import { TouchableOpacity, View } from 'react-native';
3
- import { IconOutline } from '@ant-design/icons-react-native';
3
+ import AntDesign from 'react-native-vector-icons/AntDesign';
4
+ import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
4
5
 
5
6
  import styles from './styles';
6
7
 
@@ -79,7 +80,7 @@ const AirQuality = memo(({ summaryDetail }) => {
79
80
  <View
80
81
  style={[styles.boxEmotion, { backgroundColor: outdoorColor }]}
81
82
  >
82
- <IconOutline name={outdoorIcon} size={35} />
83
+ <AntDesign name={outdoorIcon} size={35} />
83
84
  </View>
84
85
  <View
85
86
  style={[
@@ -121,7 +122,11 @@ const AirQuality = memo(({ summaryDetail }) => {
121
122
  {<SegmentedRoundChart data={outdoor} />}
122
123
  {!!advices?.length && (
123
124
  <View style={styles.boxHealth}>
124
- <IconOutline name="alert" size={20} style={styles.iconMargin} />
125
+ <MaterialCommunityIcons
126
+ name="alert-circle-outline"
127
+ size={20}
128
+ style={styles.iconMargin}
129
+ />
125
130
  <Text semibold color={Colors.Gray9} type="H4">
126
131
  {t('Health advices:')}
127
132
  </Text>
@@ -13,17 +13,6 @@ import { Today } from '../../../../../commons';
13
13
 
14
14
  const mock = new MockAdapter(api.axiosInstance);
15
15
 
16
- const mockedNavigate = jest.fn();
17
-
18
- jest.mock('@react-navigation/native', () => {
19
- return {
20
- ...jest.requireActual('@react-navigation/native'),
21
- useNavigation: () => ({
22
- navigate: mockedNavigate,
23
- }),
24
- useFocusEffect: (func) => func(),
25
- };
26
- });
27
16
  const wrapComponent = (summaryDetail) => (
28
17
  <SCProvider initState={mockSCStore({})}>
29
18
  <PowerConsumption summaryDetail={summaryDetail} />