@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
@@ -22,12 +22,12 @@ const wrapComponent = () => (
22
22
 
23
23
  describe('Test Detail', () => {
24
24
  const mockGoBack = useNavigation().goBack;
25
- const mockNavigate = useNavigation().navigate;
25
+ const mockedNavigate = useNavigation().navigate;
26
26
  let tree;
27
27
 
28
28
  beforeEach(() => {
29
29
  mockGoBack.mockReset();
30
- mockNavigate.mockReset();
30
+ mockedNavigate.mockReset();
31
31
  useRoute.mockReturnValue({
32
32
  params: {
33
33
  item: {
@@ -57,9 +57,9 @@ describe('Test Detail', () => {
57
57
  });
58
58
 
59
59
  const instance = tree.root;
60
- const TouchableOpacities = instance.findAllByType(TouchableOpacity);
61
- await TouchableOpacities[0].props.onPress();
62
- expect(mockGoBack).toBeCalled();
60
+ const touchableOpacities = instance.findAllByType(TouchableOpacity);
61
+ await touchableOpacities[0].props.onPress();
62
+ expect(global.mockedGoBack).toBeCalled();
63
63
  });
64
64
 
65
65
  it('Test render onClick more header onPress delete', async () => {
@@ -82,9 +82,9 @@ describe('Test Detail', () => {
82
82
  });
83
83
 
84
84
  const instance = tree.root;
85
- const TouchableOpacities = instance.findAllByType(TouchableOpacity);
85
+ const touchableOpacities = instance.findAllByType(TouchableOpacity);
86
86
  await act(async () => {
87
- await TouchableOpacities[1].props.onPress();
87
+ await touchableOpacities[1].props.onPress();
88
88
  });
89
89
  const menuActionMore = instance.findByType(MenuActionMore);
90
90
  const mockDoAction = jest.fn();
@@ -101,7 +101,7 @@ describe('Test Detail', () => {
101
101
  await act(async () => {
102
102
  await menuActionMore.props.listMenuItem[0].doAction();
103
103
  });
104
- expect(mockNavigate).toHaveBeenCalled();
104
+ expect(global.mockedNavigate).toHaveBeenCalled();
105
105
  await act(async () => {
106
106
  await menuActionMore.props.listMenuItem[3].doAction();
107
107
  });
@@ -9,17 +9,6 @@ import api from '../../../utils/Apis/axios';
9
9
 
10
10
  const mock = new MockAdapter(api.axiosInstance);
11
11
 
12
- const mockNavigate = jest.fn();
13
- jest.mock('@react-navigation/native', () => {
14
- return {
15
- ...jest.requireActual('@react-navigation/native'),
16
- useNavigation: () => ({
17
- navigate: mockNavigate,
18
- }),
19
- useIsFocused: () => true,
20
- };
21
- });
22
-
23
12
  describe('Test Template screen', () => {
24
13
  let tree;
25
14
  it('Test render', async () => {
@@ -36,9 +25,9 @@ describe('Test Template screen', () => {
36
25
  const instance = tree.root;
37
26
  const FlatLists = instance.findAllByType(FlatList);
38
27
  expect(FlatLists).toHaveLength(1);
39
- const TouchableOpacities = instance.findAllByType(TouchableOpacity);
40
- await TouchableOpacities[0].props.onPress();
41
- expect(mockNavigate).toBeCalled();
28
+ const touchableOpacities = instance.findAllByType(TouchableOpacity);
29
+ await touchableOpacities[0].props.onPress();
30
+ expect(global.mockedNavigate).toBeCalled();
42
31
  });
43
32
 
44
33
  it('Test onSearch', async () => {
@@ -6,7 +6,7 @@ import React, {
6
6
  useState,
7
7
  } from 'react';
8
8
  import { View, TouchableOpacity } from 'react-native';
9
- import { Icon } from '@ant-design/react-native';
9
+ import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
10
10
  import { useNavigation, useRoute } from '@react-navigation/native';
11
11
 
12
12
  import WrapHeaderScrollable from '../../commons/Sharing/WrapHeaderScrollable';
@@ -163,7 +163,7 @@ const TemplateDetail = () => {
163
163
  ref={refMenuAction}
164
164
  style={styles.headerButton}
165
165
  >
166
- <Icon name={'more'} size={27} color={Colors.Black} />
166
+ <MaterialIcons name={'more-vert'} size={27} color={Colors.Black} />
167
167
  </TouchableOpacity>
168
168
  </View>
169
169
  );
@@ -1,17 +1,15 @@
1
1
  import React, {
2
2
  useCallback,
3
- useEffect,
4
- useState,
5
3
  useContext,
4
+ useEffect,
6
5
  useMemo,
6
+ useState,
7
7
  } from 'react';
8
- import { RefreshControl, View, Platform } from 'react-native';
9
- import { useIsFocused } from '@react-navigation/native';
8
+ import { Platform, View } from 'react-native';
9
+ import { useIsFocused, useNavigation } from '@react-navigation/native';
10
10
 
11
11
  import { useTranslations } from '../../hooks/Common/useTranslations';
12
12
  import styles from './styles';
13
- import AddMenu from './AddMenu';
14
- import MoreMenu from './MoreMenu';
15
13
  import Summaries from './Summaries';
16
14
 
17
15
  import Text from '../../commons/Text';
@@ -20,7 +18,6 @@ import {
20
18
  useBlockBackAndroid,
21
19
  useBoolean,
22
20
  useIsOwnerOfUnit,
23
- usePopover,
24
21
  } from '../../hooks/Common';
25
22
  import { useFavorites } from './hook/useFavorites';
26
23
  import { useUnitConnectRemoteDevices } from './hook/useUnitConnectRemoteDevices';
@@ -32,20 +29,19 @@ import WrapParallaxScrollView from '../../commons/WrapParallaxScrollView';
32
29
  import { SCContext, useSCContextSelector } from '../../context';
33
30
  import { Action } from '../../context/actionType';
34
31
  import CameraDevice from '../../commons/CameraDevice';
35
- import { useNavigation } from '@react-navigation/native';
36
32
  import Routes from '../../utils/Route';
37
33
  import SubUnitAutomate from '../../commons/SubUnit/OneTap';
38
34
  import SubUnitFavorites from '../../commons/SubUnit/Favorites';
39
35
  import {
36
+ AccessibilityLabel,
37
+ AUTOMATE_TABS,
40
38
  AUTOMATE_TYPE,
41
39
  Constants,
42
40
  NOTIFICATION_TYPES,
43
- AccessibilityLabel,
44
- AUTOMATE_TABS,
45
41
  } from '../../configs/Constants';
46
42
  import {
47
- watchNotificationData,
48
43
  unwatchNotificationData,
44
+ watchNotificationData,
49
45
  } from '../../utils/Monitor';
50
46
  import PreventAccess from '../../commons/PreventAccess';
51
47
  import MediaPlayerDetail from '../../commons/MediaPlayerDetail';
@@ -197,7 +193,6 @@ const UnitDetail = ({ route }) => {
197
193
  const {
198
194
  unitId,
199
195
  unitData,
200
- routeName,
201
196
  isOneTap,
202
197
  stationId,
203
198
  isAddSubUnit,
@@ -218,19 +213,16 @@ const UnitDetail = ({ route }) => {
218
213
  isSuccessfullyConnected ? RouterHardware(Routes.Dashboard) : goBack
219
214
  );
220
215
  const user = useSCContextSelector((state) => state?.auth?.account?.user);
221
- const { isLavidaSource, isFirstOpenCamera, appState } = useSCContextSelector(
216
+ const { isFirstOpenCamera, appState } = useSCContextSelector(
222
217
  (state) => state.app
223
218
  );
224
219
 
225
220
  const [unit, setUnit] = useState(unitData || { id: unitId });
226
221
  const [listAutomate, setListAutomate] = useState([]);
227
- const [showAdd, setShowAdd, setHideAdd] = useBoolean();
222
+
228
223
  const [showPreventAccess, setShowPreventAccess, setHidePreventAccess] =
229
224
  useBoolean(false);
230
225
 
231
- const { childRef, showingPopover, showPopoverWithRef, hidePopover } =
232
- usePopover();
233
-
234
226
  const { isOwner } = useIsOwnerOfUnit(unit.user_id);
235
227
 
236
228
  const prepareData = useCallback(
@@ -317,14 +309,6 @@ const UnitDetail = ({ route }) => {
317
309
  }
318
310
  }, [fetchDetails, isFocused]);
319
311
 
320
- const onBack = useCallback(() => {
321
- navigate(isLavidaSource ? Routes.SmartHomeDashboard : routeName);
322
- }, [navigate, routeName, isLavidaSource]);
323
-
324
- const Dashboard = useCallback(() => {
325
- navigate(isLavidaSource ? Routes.SmartHomeDashboard : Routes.Dashboard);
326
- }, [isLavidaSource, navigate]);
327
-
328
312
  useEffect(() => {
329
313
  watchNotificationData(user, onRefresh);
330
314
  return () => unwatchNotificationData(user);
@@ -342,19 +326,9 @@ const UnitDetail = ({ route }) => {
342
326
 
343
327
  return (
344
328
  <WrapParallaxScrollView
345
- uriImg={unit.background}
346
- title={t('Welcome {name}', {
347
- name: unit.name ? unit.name : '',
348
- })}
349
- refreshControl={
350
- <RefreshControl refreshing={false} onRefresh={onRefresh} />
351
- }
352
- onAdd={setShowAdd}
353
- onMore={showPopoverWithRef}
354
- hideRightPlus={!isOwner}
355
- onBack={(isSuccessfullyConnected && Dashboard) || (routeName && onBack)}
356
- accessibilityLabel={AccessibilityLabel.UNIT_DETAIL_PARALLAX_SCROLLVIEW}
357
- idButtonMore={AccessibilityLabel.UNIT_DETAIL_PARALLAX_BUTTON_MORE}
329
+ unit={unit}
330
+ unitData={unitData}
331
+ onRefresh={onRefresh}
358
332
  >
359
333
  {isFirstOpenCamera && isIOS && (
360
334
  <MediaPlayerDetail
@@ -375,21 +349,6 @@ const UnitDetail = ({ route }) => {
375
349
  isAddSubUnit={isAddSubUnit}
376
350
  isEditSubUnit={isEditSubUnit}
377
351
  />
378
- <AddMenu
379
- unit={unit}
380
- afterItemClick={hidePopover}
381
- showAdd={showAdd}
382
- setHideAdd={setHideAdd}
383
- />
384
- <MoreMenu
385
- unit={unit}
386
- hidePopover={hidePopover}
387
- isOwner={isOwner}
388
- childRef={childRef}
389
- showingPopover={showingPopover}
390
- idLabelPopover={AccessibilityLabel.UNIT_DETAIL_POPUP_MORE}
391
- idLabelItem={AccessibilityLabel.UNIT_DETAIL_POPUP_MORE_ITEM}
392
- />
393
352
  <PreventAccess
394
353
  visible={showPreventAccess}
395
354
  hidePreventAccess={setHidePreventAccess}
@@ -8,7 +8,7 @@ import React, {
8
8
  } from 'react';
9
9
  import { View, ScrollView, TouchableOpacity } from 'react-native';
10
10
  import { useNavigation } from '@react-navigation/native';
11
- import { Icon } from '@ant-design/react-native';
11
+ import AntDesign from 'react-native-vector-icons/AntDesign';
12
12
  import { HeaderCustom } from '../../commons/Header';
13
13
  import Text from '../../commons/Text';
14
14
  import NavBar from '../../commons/NavBar';
@@ -142,7 +142,7 @@ const SelectAddToFavorites = memo(({ route }) => {
142
142
  style={styles.buttonClose}
143
143
  onPress={goBack}
144
144
  >
145
- <Icon name={'close'} size={24} color={Colors.Black} />
145
+ <AntDesign name={'close'} size={24} color={Colors.Black} />
146
146
  </TouchableOpacity>
147
147
  ),
148
148
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -2,7 +2,8 @@ import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
2
2
  import { TouchableOpacity, View, ScrollView } from 'react-native';
3
3
  import MapView, { Marker, Circle, PROVIDER_GOOGLE } from 'react-native-maps';
4
4
  import { useNavigation } from '@react-navigation/native';
5
- import { IconOutline, IconFill } from '@ant-design/icons-react-native';
5
+ import AntDesign from 'react-native-vector-icons/AntDesign';
6
+ import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
6
7
  import { check, RESULTS } from 'react-native-permissions';
7
8
  import { openPromptEnableLocation } from '../../utils/Setting/Location';
8
9
 
@@ -194,7 +195,11 @@ const SelectAddress = memo(({ route }) => {
194
195
  style={styles.button}
195
196
  accessibilityLabel={AccessibilityLabel.BUTTON_YOUR_LOCATION}
196
197
  >
197
- <IconOutline name="aim" size={27} color={Colors.Primary} />
198
+ <MaterialIcons
199
+ name="my-location"
200
+ size={27}
201
+ color={Colors.Primary}
202
+ />
198
203
  <Text type="Body" color={Colors.Gray9} style={styles.text} bold>
199
204
  {t('your_location')}
200
205
  </Text>
@@ -205,7 +210,7 @@ const SelectAddress = memo(({ route }) => {
205
210
  style={styles.button}
206
211
  accessibilityLabel={AccessibilityLabel.BUTTON_CHOOSE_ON_MAP}
207
212
  >
208
- <IconFill name="environment" size={27} color={Colors.Primary} />
213
+ <AntDesign name="enviroment" size={27} color={Colors.Primary} />
209
214
  <Text type="Body" color={Colors.Gray9} style={styles.text} bold>
210
215
  {t('choose_on_map')}
211
216
  </Text>
@@ -243,7 +248,7 @@ const SelectAddress = memo(({ route }) => {
243
248
  }}
244
249
  tracksViewChanges={false}
245
250
  >
246
- <IconFill name="environment" size={27} color={Colors.Blue10} />
251
+ <AntDesign name="enviroment" size={27} color={Colors.Blue10} />
247
252
  </Marker>
248
253
  </>
249
254
  )}
@@ -4,7 +4,7 @@ import React, { memo, useRef } from 'react';
4
4
  import styles from './SmartAccountStyles';
5
5
  import { Colors } from '../../configs';
6
6
  import Text from '../../commons/Text';
7
- import { Icon } from '@ant-design/react-native';
7
+ import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
8
8
  import { AccessibilityLabel } from '../../configs/Constants';
9
9
 
10
10
  export const SmartAccountItem = memo(
@@ -44,7 +44,7 @@ export const SmartAccountItem = memo(
44
44
  onPress={onPressMore}
45
45
  ref={buttonMoreRef}
46
46
  >
47
- <Icon name={'more'} size={27} color={Colors.Black} />
47
+ <MaterialIcons name={'more-vert'} size={27} color={Colors.Black} />
48
48
  </TouchableOpacity>
49
49
  </View>
50
50
  );
@@ -50,8 +50,8 @@ describe('Test Station', () => {
50
50
  zoomScale: 1,
51
51
  },
52
52
  });
53
- const TouchableOpacities = instance.findAllByType(TouchableOpacity);
54
- await TouchableOpacities[0].props.onPress();
53
+ const touchableOpacities = instance.findAllByType(TouchableOpacity);
54
+ await touchableOpacities[0].props.onPress();
55
55
  expect(mockOnSnapToItem).toBeCalled();
56
56
  });
57
57
  });
@@ -10,6 +10,7 @@ import { AccessibilityLabel } from '../../configs/Constants';
10
10
  import { useSCContextSelector } from '../../context';
11
11
 
12
12
  const Summaries = memo(({ unit }) => {
13
+ const { id } = unit;
13
14
  const [unitSummaries, setUnitSummaries] = useState([]);
14
15
  const isFocused = useIsFocused();
15
16
  const navigation = useNavigation();
@@ -17,31 +18,32 @@ const Summaries = memo(({ unit }) => {
17
18
  const timeoutId = useRef(null);
18
19
 
19
20
  const fetchUnitSummary = useCallback(async () => {
20
- if (!unit.id) {
21
+ if (!id) {
21
22
  return false;
22
23
  }
23
24
 
24
25
  const { success, data } = await axiosGet(
25
- API.UNIT.UNIT_SUMMARY(unit.id),
26
+ API.UNIT.UNIT_SUMMARY(id),
26
27
  {},
27
28
  true
28
29
  );
29
- if (success && data.length) {
30
+ if (success && data?.length) {
30
31
  setUnitSummaries(data);
32
+ return true;
31
33
  }
32
- return success && data.length > 0;
33
- }, [unit.id]);
34
+ return false;
35
+ }, [id]);
34
36
 
35
37
  const goToSummary = useCallback(
36
38
  (summary) => {
37
39
  navigation.navigate(Routes.UnitSummary, {
38
40
  summaryId: summary.id,
39
- unitId: unit.id,
41
+ unitId: id,
40
42
  summaryData: summary,
41
43
  unitData: unit,
42
44
  });
43
45
  },
44
- [navigation, unit]
46
+ [navigation, unit, id]
45
47
  );
46
48
 
47
49
  const continuousFetchSummary = useCallback(async () => {
@@ -79,32 +81,25 @@ const Summaries = memo(({ unit }) => {
79
81
  const { dataNotification } = useReceiveNotifications();
80
82
 
81
83
  useEffect(() => {
82
- if (dataNotification) {
83
- const { summary_id } = dataNotification.params || {};
84
- if (summary_id) {
85
- fetchUnitSummary();
86
- }
84
+ if (dataNotification?.params?.summary_id) {
85
+ fetchUnitSummary();
87
86
  }
88
87
  }, [dataNotification, fetchUnitSummary]);
89
88
 
89
+ if (unitSummaries.length === 0) {
90
+ return null;
91
+ }
92
+
90
93
  return (
91
- <>
92
- {unitSummaries.length > 0 && (
93
- <ScrollView
94
- horizontal
95
- scrollIndicatorInsets={{ right: 1 }}
96
- accessibilityLabel={AccessibilityLabel.UNIT_DETAIL_UNIT_SUMMARY_VIEW}
97
- >
98
- {unitSummaries.map((item, index) => (
99
- <SummaryItem
100
- key={(item?.id || index).toString()}
101
- item={item}
102
- goToSummary={goToSummary}
103
- />
104
- ))}
105
- </ScrollView>
106
- )}
107
- </>
94
+ <ScrollView
95
+ horizontal
96
+ scrollIndicatorInsets={{ right: 1 }}
97
+ accessibilityLabel={AccessibilityLabel.UNIT_DETAIL_UNIT_SUMMARY_VIEW}
98
+ >
99
+ {unitSummaries.map((item) => (
100
+ <SummaryItem key={item.id} item={item} goToSummary={goToSummary} />
101
+ ))}
102
+ </ScrollView>
108
103
  );
109
104
  });
110
105
 
@@ -77,7 +77,10 @@ describe('Test AddMenu Unit', () => {
77
77
 
78
78
  expect(menuActionAddnew.props.visible).toBe(true);
79
79
  expect(mockedAfterItemClick).toHaveBeenCalled();
80
- expect(mockedNavigate).toHaveBeenCalledWith('route test', 'data test');
80
+ expect(global.mockedNavigate).toHaveBeenCalledWith(
81
+ 'route test',
82
+ 'data test'
83
+ );
81
84
  });
82
85
 
83
86
  it('add new device but have no permission', async () => {
@@ -201,7 +204,7 @@ describe('Test AddMenu Unit', () => {
201
204
  await act(async () => {
202
205
  menuActionAddnew.props.onItemClick(menuActionAddnew.props.dataActions[3]);
203
206
  });
204
- expect(mockedNavigate).toBeCalledWith(Routes.SmartAccountStack, {
207
+ expect(global.mockedNavigate).toBeCalledWith(Routes.SmartAccountStack, {
205
208
  params: { unitId: 1, unitName: 'Unit 1' },
206
209
  screen: 'SmartAccount',
207
210
  });
@@ -34,18 +34,6 @@ jest.mock('react-native-onesignal', () => {
34
34
  };
35
35
  });
36
36
 
37
- jest.mock('@react-navigation/native', () => {
38
- return {
39
- ...jest.requireActual('@react-navigation/native'),
40
- useNavigation: () => ({
41
- navigate: jest.fn(),
42
- goBack: jest.fn(),
43
- }),
44
- useFocusEffect: jest.fn(),
45
- useIsFocused: () => true,
46
- };
47
- });
48
-
49
37
  const wrapComponent = (route, unitData, account) => (
50
38
  <SCProvider initState={mockSCStore({})}>
51
39
  <UnitDetail
@@ -9,7 +9,6 @@ import ChooseLocation from '../ChooseLocation';
9
9
  import { API } from '../../../configs';
10
10
  import BottomButtonView from '../../../commons/BottomButtonView';
11
11
  import api from '../../../utils/Apis/axios';
12
- import { useNavigation } from '@react-navigation/native';
13
12
 
14
13
  const wrapComponent = (route) => (
15
14
  <SCProvider initState={mockSCStore({})}>
@@ -72,8 +71,6 @@ describe('Test ChooseLocation', () => {
72
71
  });
73
72
 
74
73
  it('test done choose location', async () => {
75
- const mockGoBack = useNavigation().goBack;
76
-
77
74
  await act(async () => {
78
75
  tree = await create(wrapComponent(route));
79
76
  });
@@ -108,6 +105,6 @@ describe('Test ChooseLocation', () => {
108
105
  latitude: 20,
109
106
  longitude: 20,
110
107
  });
111
- expect(mockGoBack).toBeCalled();
108
+ expect(global.mockedGoBack).toBeCalled();
112
109
  });
113
110
  });
@@ -8,8 +8,9 @@ import {
8
8
  useIsFocused,
9
9
  useNavigation,
10
10
  useFocusEffect,
11
+ useRoute,
11
12
  } from '@react-navigation/native';
12
- import AsyncStorage from '@react-native-community/async-storage';
13
+ import AsyncStorage from '@react-native-async-storage/async-storage';
13
14
  import UnitDetail from '../Detail';
14
15
  import { API } from '../../../configs';
15
16
  import { AccessibilityLabel } from '../../../configs/Constants';
@@ -108,7 +109,7 @@ describe('Test UnitDetail', () => {
108
109
  await act(async () => {
109
110
  CameraDeviceViews[0].props.goToPlayBack();
110
111
  });
111
- expect(mockedNavigate).toBeCalledWith(Routes.PlaybackCamera, {
112
+ expect(global.mockedNavigate).toBeCalledWith(Routes.PlaybackCamera, {
112
113
  item: undefined,
113
114
  thumbnail: undefined,
114
115
  });
@@ -430,7 +431,7 @@ describe('Test UnitDetail', () => {
430
431
  await act(async () => {
431
432
  await goDetailButton[1].props.onPress();
432
433
  });
433
- expect(mockedNavigate).toHaveBeenCalled();
434
+ expect(global.mockedNavigate).toHaveBeenCalled();
434
435
  });
435
436
 
436
437
  it('render subunit favorites', async () => {
@@ -497,8 +498,9 @@ describe('Test UnitDetail', () => {
497
498
 
498
499
  it('test get automate onPress goBack', async () => {
499
500
  Platform.OS = 'ios';
500
- route.params.isSuccessfullyConnected = true;
501
+ route.params.routeName = Routes.Dashboard;
501
502
  jest.useFakeTimers();
503
+
502
504
  mock.onGet(getAutomates).reply(200, [{}]);
503
505
  await act(async () => {
504
506
  tree = await renderer.create(wrapComponent(route, account));
@@ -509,24 +511,24 @@ describe('Test UnitDetail', () => {
509
511
  const instance = tree.root;
510
512
  const preventAccess = instance.findByType(PreventAccess);
511
513
  expect(preventAccess).toBeDefined();
512
- const TouchableOpacities = instance.findAllByType(TouchableOpacity);
514
+
515
+ const touchableOpacities = instance.findAllByType(TouchableOpacity);
513
516
  await act(async () => {
514
- await TouchableOpacities[0].props.onPress();
517
+ await touchableOpacities[0].props.onPress();
515
518
  });
516
- expect(mockedNavigate).toBeCalled();
519
+ expect(global.mockedGoBack).toBeCalled();
517
520
  });
518
521
 
519
522
  it('test onPress goBack with routeName', async () => {
520
- route.params.routeName = 'test';
521
- route.params.isSuccessfullyConnected = false;
523
+ useRoute.mockReturnValue({ params: { routeName: Routes.Dashboard } });
522
524
  await act(async () => {
523
525
  tree = await renderer.create(wrapComponent(route, account));
524
526
  });
525
527
  const instance = tree.root;
526
- const TouchableOpacities = instance.findAllByType(TouchableOpacity);
528
+ const touchableOpacities = instance.findAllByType(TouchableOpacity);
527
529
  await act(async () => {
528
- await TouchableOpacities[0].props.onPress();
530
+ await touchableOpacities[0].props.onPress();
529
531
  });
530
- expect(mockedNavigate).toBeCalled();
532
+ expect(global.mockedNavigate).toBeCalled();
531
533
  });
532
534
  });
@@ -16,17 +16,6 @@ import { AlertAction } from '../../../commons';
16
16
 
17
17
  const mock = new MockAdapter(api.axiosInstance);
18
18
 
19
- const mockNavigate = jest.fn();
20
- jest.mock('@react-navigation/native', () => {
21
- return {
22
- ...jest.requireActual('@react-navigation/native'),
23
- useRoute: jest.fn(),
24
- useNavigation: () => ({
25
- navigate: mockNavigate,
26
- }),
27
- };
28
- });
29
-
30
19
  jest.mock('../../../hooks/Common', () => {
31
20
  return {
32
21
  useIsOwnerOfUnit: () => ({ isOwner: true }),
@@ -52,10 +41,6 @@ describe('Test Manage Unit', () => {
52
41
  },
53
42
  };
54
43
 
55
- beforeEach(() => {
56
- mockNavigate.mockClear();
57
- });
58
-
59
44
  const getElement = async (instance) => {
60
45
  const changeName = instance.findAll(
61
46
  (item) =>
@@ -241,7 +226,7 @@ describe('Test Manage Unit', () => {
241
226
  await act(async () => {
242
227
  buttonWrapper.props.onPress();
243
228
  });
244
- expect(mockNavigate).toBeCalled();
229
+ expect(global.mockedNavigate).toBeCalled();
245
230
  });
246
231
 
247
232
  it('test onPress goToManageSubUnit', async () => {
@@ -259,6 +244,6 @@ describe('Test Manage Unit', () => {
259
244
  await act(async () => {
260
245
  buttonWrapper.props.onPress();
261
246
  });
262
- expect(mockNavigate).toBeCalled();
247
+ expect(global.mockedNavigate).toBeCalled();
263
248
  });
264
249
  });
@@ -7,16 +7,6 @@ import MoreMenu from '../MoreMenu';
7
7
 
8
8
  const mockHidePopover = jest.fn();
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
  const wrapComponent = (showingPopover) => (
21
11
  <SCProvider initState={mockSCStore({})}>
22
12
  <MoreMenu showingPopover={showingPopover} hidePopover={mockHidePopover} />
@@ -54,6 +44,6 @@ describe('Test MoreMenu', () => {
54
44
  await menuActionMore.props.onItemClick({ route: 'DeviceDetail' });
55
45
  });
56
46
  expect(mockHidePopover).toBeCalled();
57
- expect(mockNavigate).toBeCalledWith('DeviceDetail', undefined);
47
+ expect(global.mockedNavigate).toBeCalledWith('DeviceDetail', undefined);
58
48
  });
59
49
  });