@eohjsc/react-native-smart-city 0.7.3 → 0.7.4
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.
- package/assets/images/Automation-fill.svg +85 -0
- package/assets/images/Map/LocationPin.svg +10 -0
- package/assets/images/Scenario-filled.svg +22 -0
- package/assets/images/schedule-fill.svg +48 -0
- package/package.json +20 -17
- package/src/commons/Action/ItemQuickAction.js +1 -1
- package/src/commons/Action/__test__/ItemQuickAction.test.js +6 -6
- package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/ButtonWrapper.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/index.test.js +5 -5
- package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/ButtonWrapper.js +2 -2
- package/src/commons/ActionGroup/OnOffTemplate/OnOffSimpleTemplate.js +2 -2
- package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +2 -2
- package/src/commons/ActionGroup/SliderRangeTemplate.js +7 -7
- package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +2 -2
- package/src/commons/ActionGroup/SmartTiviActionTemplate/component/CircleButton.js +5 -5
- package/src/commons/ActionGroup/SmartTiviActionTemplate/component/ControlPlay.js +5 -5
- package/src/commons/ActionGroup/TerminalBoxTemplate.js +2 -2
- package/src/commons/ActionGroup/TextBoxTemplate.js +2 -2
- package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonCircle.test.js +2 -2
- package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonDefault.test.js +2 -2
- package/src/commons/ActionGroup/TimerActionTemplate.js +6 -3
- package/src/commons/ActionGroup/TwoButtonTemplate/index.js +2 -2
- package/src/commons/ActionGroup/__test__/ColorPickerTemplate.test.js +9 -10
- package/src/commons/ActionGroup/__test__/OnOffSmartLock.test.js +5 -5
- package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +5 -5
- package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +8 -8
- package/src/commons/ActionGroup/__test__/StatesGridActionTemplate.test.js +3 -3
- package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +6 -6
- package/src/commons/ActionGroup/__test__/TwoButtonTemplate.test.js +1 -1
- package/src/commons/ActionGroup/__test__/index.test.js +6 -6
- package/src/commons/ActionGroup/index.js +2 -2
- package/src/commons/ActionTemplate/__test__/index.test.js +4 -4
- package/src/commons/Automate/ItemAutomate.js +9 -41
- package/src/commons/Automate/ItemConditionScriptDetail.js +109 -0
- package/src/commons/Automate/ItemConditionScriptDetailStyles.js +46 -0
- package/src/commons/Automate/__test__/ItemAutomate.test.js +0 -21
- package/src/commons/BackDefault/index.js +2 -2
- package/src/commons/BottomButtonView/index.js +1 -0
- package/src/commons/ButtonPopup/index.js +3 -2
- package/src/commons/ChartAggregationOption/__test__/FourButtonFilterHistory.test.js +2 -2
- package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +8 -9
- package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +7 -7
- package/src/commons/DateTimeRangeChange/DateTimeButton.js +3 -3
- package/src/commons/DateTimeRangeChange/index.js +1 -1
- package/src/commons/Device/ConnectedViewHeader.js +2 -2
- package/src/commons/Device/Emergency/EmergencyDetail.js +3 -3
- package/src/commons/Device/Emergency/__test__/EmergencyButton.test.js +1 -1
- package/src/commons/Device/FlatListItems.js +20 -19
- package/src/commons/Device/Hanet/ItemHanetDevice.js +3 -3
- package/src/commons/Device/Hanet/ItemHanetDevice.test.js +3 -3
- package/src/commons/Device/HorizontalBarChart.js +54 -34
- package/src/commons/Device/ItemAddNew/index.js +2 -2
- package/src/commons/Device/ItemDevice.js +5 -21
- package/src/commons/Device/SonosSpeaker/index.js +3 -3
- package/src/commons/Device/WaterPurifierStatus/AlertStatusMachine.js +2 -2
- package/src/commons/Device/WaterQualitySensor/QualityIndicatorsItem.js +6 -2
- package/src/commons/DisplayChecking/index.js +2 -2
- package/src/commons/EmergencyButton/AlertSendConfirm.js +2 -2
- package/src/commons/FieldTemplate/ChooseUserField/index.js +2 -2
- package/src/commons/FieldTemplate/PasscodeField/__test__/index.test.js +3 -3
- package/src/commons/FieldTemplate/ScheduleField/__test__/index.test.js +6 -6
- package/src/commons/FlatListDnD/__test__/index.test.js +4 -4
- package/src/commons/FlatListDnD/index.js +12 -9
- package/src/commons/Grid/GridItem.js +10 -2
- package/src/commons/GroupCheckBox/__test__/GroupCheckBox.test.js +3 -3
- package/src/commons/Header/HeaderCustom.js +2 -2
- package/src/commons/Header/__test__/HeaderCT.test.js +3 -3
- package/src/commons/HeaderAni/index.js +2 -2
- package/src/commons/IconComponent/index.js +3 -3
- package/src/commons/ImagePicker/__test__/ImagePicker.test.js +5 -5
- package/src/commons/MediaPlayerDetail/__test__/MediaPlayerDetail.test.js +6 -4
- package/src/commons/MenuActionMore/MenuActionMoreStyles.js +2 -1
- package/src/commons/MenuActionMore/index.js +1 -1
- package/src/commons/NavBar/NavBarStyles.js +1 -1
- package/src/commons/NavBar/index.js +2 -2
- package/src/commons/OneTapTemplate/NumberUpDownActionTemplate.js +3 -3
- package/src/commons/OneTapTemplate/__test__/StatesGridActionTemplate.test.js +1 -1
- package/src/commons/Popover/__test__/index.test.js +3 -3
- package/src/commons/Processing/__test__/Connecting.test.js +4 -4
- package/src/commons/SearchLocation/index.js +3 -3
- package/src/commons/SelectActionCard/index.js +2 -2
- package/src/commons/SelectSubUnit/index.js +6 -2
- package/src/commons/SelectUnit/__test__/SelectUnit.test.js +5 -5
- package/src/commons/Sharing/BtnRemoveMember.js +2 -2
- package/src/commons/Sharing/StationDevicePermissions.js +2 -2
- package/src/commons/SubUnit/DeviceTemplate/ConfigAndEvaluation/ConfigAndEvaluation.js +2 -2
- package/src/commons/SubUnit/DeviceTemplate/ConfigValue/ConfigValue.js +2 -2
- package/src/commons/SubUnit/DeviceTemplate/EvaluationOverConfig/EvaluationOverConfig.js +2 -2
- package/src/commons/SubUnit/OneTap/ItemOneTap.js +6 -7
- package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +0 -2
- package/src/commons/SubUnit/OneTap/index.js +9 -8
- package/src/commons/SubUnit/__test__/ShortDetail.test.js +8 -8
- package/src/commons/Unit/HeaderUnit/index.js +30 -22
- package/src/commons/Unit/SharedUnit.js +7 -7
- package/src/commons/Widgets/IFrame/__tests__/IFrame.test.js +9 -13
- package/src/commons/Widgets/IFrameWithConfig/IFrameWithConfig.js +34 -2
- package/src/commons/Widgets/IFrameWithConfig/__tests__/IFrameWithConfig.test.js +88 -8
- package/src/commons/WrapParallaxScrollView/index.js +9 -10
- package/src/configs/API.js +1 -1
- package/src/configs/AccessibilityLabel.js +1 -0
- package/src/configs/Constants.js +3 -3
- package/src/configs/Theme.js +1 -1
- package/src/hooks/Common/__test__/useAndroidTranslucentStatusBar.test.js +5 -5
- package/src/hooks/IoT/__test__/useHomeAssistantConnection.test.js +12 -12
- package/src/hooks/IoT/__test__/useRemoteControl.test.js +14 -7
- package/src/hooks/IoT/__test__/useWatchConfigs.test.js +3 -3
- package/src/hooks/IoT/useRemoteControl.js +24 -13
- package/src/hooks/useMqtt.js +2 -2
- package/src/iot/RemoteControl/Bluetooth.js +19 -22
- package/src/iot/RemoteControl/Internet.js +13 -5
- package/src/iot/RemoteControl/__test__/Internet.test.js +7 -7
- package/src/navigations/EmergencyContactsStack.js +4 -3
- package/src/navigations/SharedStack.js +2 -0
- package/src/navigations/UnitStack.js +56 -57
- package/src/screens/AQIGuide/index.js +0 -2
- package/src/screens/ActivityLog/index.js +2 -2
- package/src/screens/AddLocationMaps/__test__/index.test.js +12 -12
- package/src/screens/AddLocationMaps/index.js +16 -19
- package/src/screens/AddLocationMaps/indexStyle.js +1 -0
- package/src/screens/AddNewGateway/RenameNewDevices.js +2 -2
- package/src/screens/AddNewGateway/SelectDeviceType.js +1 -1
- package/src/screens/AddNewGateway/ShareWifiPassword.js +16 -15
- package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +7 -7
- package/src/screens/AddNewGateway/__test__/ConnectingWifiDevice.test.js +8 -8
- package/src/screens/AddNewGateway/__test__/ConnectingZigbeeDevice.test.js +7 -7
- package/src/screens/AddNewGateway/__test__/RenameNewDevices.test.js +8 -8
- package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +5 -5
- package/src/screens/AddNewGateway/__test__/SelectDeviceUnit.test.js +4 -4
- package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +6 -6
- package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +6 -6
- package/src/screens/AddNewGateway/__test__/ShareWifiPassword.test.js +0 -4
- package/src/screens/AddNewGateway/hooks/__Tests__/useWifiManage.test.js +2 -2
- package/src/screens/AllGateway/DetailConfigActionModbus/__test__/index.test.js +6 -6
- package/src/screens/AllGateway/DeviceInternalDetail/__test__/index.test.js +19 -17
- package/src/screens/AllGateway/DeviceModbusDetail/__test__/index.test.js +19 -17
- package/src/screens/AllGateway/DeviceZigbeeDetail/__test__/index.test.js +18 -16
- package/src/screens/AllGateway/GatewayDetail/__test__/index.test.js +43 -35
- package/src/screens/AllGateway/GatewayInfo/__test__/index.test.js +38 -22
- package/src/screens/AllGateway/__test__/index.test.js +6 -6
- package/src/screens/AllGateway/components/Detail/__test__/index.test.js +3 -5
- package/src/screens/AllGateway/components/GatewayItem/__test__/index.test.js +3 -3
- package/src/screens/AllGateway/components/TabPaneCT/__test__/index.test.js +6 -6
- package/src/screens/AllGateway/hooks/__test__/index.test.js +2 -2
- package/src/screens/AllGateway/test-utils.js +3 -4
- package/src/screens/Automate/AddNewAction/ChooseAction.js +17 -3
- package/src/screens/Automate/AddNewAction/ChooseConfig.js +7 -6
- package/src/screens/Automate/AddNewAction/NewActionWrapper.js +8 -8
- package/src/screens/Automate/AddNewAction/SelectControlDevices.js +30 -20
- package/src/screens/Automate/AddNewAction/SelectMonitorDevices.js +17 -10
- package/src/screens/Automate/AddNewAction/SetupConfigCondition.js +58 -44
- package/src/screens/Automate/AddNewAction/SetupScriptDelay.js +1 -1
- package/src/screens/Automate/AddNewAction/SetupScriptNotify.js +3 -3
- package/src/screens/Automate/AddNewAction/Styles/SetupSensorStyles.js +20 -4
- package/src/screens/Automate/AddNewAction/__test__/ChooseAction.test.js +12 -12
- package/src/screens/Automate/AddNewAction/__test__/SelectControlDevices.test.js +14 -8
- package/src/screens/Automate/AddNewAction/__test__/SelectMonitorDevices.test.js +13 -7
- package/src/screens/Automate/AddNewAction/__test__/SetupConfigCondition.test.js +54 -15
- package/src/screens/Automate/AddNewAction/__test__/SetupScriptDelay.test.js +9 -9
- package/src/screens/Automate/AddNewAction/__test__/SetupScriptNotify.test.js +39 -10
- package/src/screens/Automate/AddNewAutoSmart/AddTypeSmart.js +10 -10
- package/src/screens/Automate/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +13 -8
- package/src/screens/Automate/Components/InputName.js +10 -7
- package/src/screens/Automate/EditActionsList/__tests__/UpdateActionScript.test.js +8 -8
- package/src/screens/Automate/EditActionsList/__tests__/UpdateDelayScript.test.js +6 -6
- package/src/screens/Automate/EditActionsList/__tests__/UpdateNotifyScript.test.js +7 -7
- package/src/screens/Automate/EditActionsList/index.js +19 -17
- package/src/screens/Automate/MultiUnits.js +19 -22
- package/src/screens/Automate/OneTap/__test__/AddNewOneTap.test.js +18 -8
- package/src/screens/Automate/Scenario/__test__/AddNewOneTap.test.js +15 -7
- package/src/screens/Automate/ScriptDetail/Components/AddActionScript.js +14 -6
- package/src/screens/Automate/ScriptDetail/Components/RenameScript.js +4 -7
- package/src/screens/Automate/ScriptDetail/__test__/index.test.js +42 -17
- package/src/screens/Automate/ScriptDetail/__test__/useStarredScript.test.js +6 -6
- package/src/screens/Automate/ScriptDetail/index.js +51 -40
- package/src/screens/Automate/SetSchedule/__test__/SelectWeekday.test.js +4 -4
- package/src/screens/Automate/SetSchedule/__test__/index.test.js +29 -18
- package/src/screens/Automate/SetSchedule/components/RowItem.js +5 -5
- package/src/screens/Automate/SetSchedule/index.js +8 -7
- package/src/screens/Automate/Styles/indexStyles.js +1 -1
- package/src/screens/Automate/__test__/MultiUnits.test.js +1 -4
- package/src/screens/Automate/__test__/index.test.js +0 -1
- package/src/screens/Automate/index.js +36 -34
- package/src/screens/ChangePosition/__test__/index.test.js +6 -6
- package/src/screens/ChangePosition/index.js +2 -1
- package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +13 -13
- package/src/screens/Device/EditDevice/index.js +4 -4
- package/src/screens/Device/__test__/BluetoothDevice.test.js +300 -0
- package/src/screens/Device/__test__/detail.test.js +14 -14
- package/src/screens/Device/__test__/mqttDetail.test.js +9 -9
- package/src/screens/Device/components/BluetoothDevice.js +135 -0
- package/src/screens/Device/components/SensorDisplayItem.js +9 -8
- package/src/screens/Device/detail.js +70 -62
- package/src/screens/Device/hooks/useEvaluateValue.js +1 -1
- package/src/screens/Drawer/Drawer.test.js +2 -2
- package/src/screens/Drawer/index.js +3 -3
- package/src/screens/EmergencyContacts/EmergencyContactsList.js +8 -4
- package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +3 -3
- package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +7 -7
- package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
- package/src/screens/EnterPassword/__test__/EnterPassword.test.js +8 -8
- package/src/screens/GuestInfo/components/RowGuestInfo.js +2 -2
- package/src/screens/GuestInfo/components/__test__/AccessScheduleSheet.test.js +3 -3
- package/src/screens/GuestInfo/index.js +2 -2
- package/src/screens/HanetCamera/ManageAccess.js +3 -3
- package/src/screens/HanetCamera/MemberInfo.js +2 -2
- package/src/screens/HanetCamera/__test__/Detail.test.js +9 -9
- package/src/screens/HanetCamera/__test__/MemberInfo.test.js +10 -10
- package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +2 -2
- package/src/screens/ManageAccess/index.js +3 -3
- package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +9 -9
- package/src/screens/Notification/__test__/Notification.test.js +9 -9
- package/src/screens/Notification/components/NotificationItem.js +3 -4
- package/src/screens/Notification/index.js +3 -3
- package/src/screens/Notification/styles/NotificationItemStyles.js +0 -1
- package/src/screens/PlayBackCamera/__test__/index.test.js +1 -1
- package/src/screens/ScanChipQR/components/QRScan/__test__/QRScan.test.js +1 -1
- package/src/screens/ScanChipQR/components/QRScan/index.js +3 -3
- package/src/screens/SelectUnit/__test__/index.test.js +8 -8
- package/src/screens/SelectUnit/index.js +4 -4
- package/src/screens/SharedUnit/TabHeader.js +2 -2
- package/src/screens/Sharing/Components/EndDevice.js +3 -3
- package/src/screens/Sharing/UnitMemberList.js +2 -2
- package/src/screens/Sharing/__test__/UpdateShareDevice.test.js +7 -7
- package/src/screens/SideMenuDetail/__test__/index.test.js +8 -8
- package/src/screens/SmartAccount/Connecting/index.js +5 -5
- package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +8 -8
- package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +7 -7
- package/src/screens/SmartAccount/SuccessfullyConnected/index.js +2 -2
- package/src/screens/SmartAccount/__test__/Connecting.test.js +6 -6
- package/src/screens/SmartAccount/__test__/SmartAccount.test.js +10 -10
- package/src/screens/SmartIr/__test__/GroupButtonByType.test.js +3 -2
- package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +2 -2
- package/src/screens/SmartIr/components/SelectBrand.js +2 -2
- package/src/screens/SubUnit/AddSubUnit.js +28 -26
- package/src/screens/SubUnit/AddSubUnitStyles.js +10 -4
- package/src/screens/SubUnit/EditSubUnit.js +12 -11
- package/src/screens/SubUnit/ManageSubUnit.js +3 -3
- package/src/screens/SubUnit/__test__/AddSubUnit.test.js +13 -13
- package/src/screens/SubUnit/__test__/EditSubUnit.test.js +3 -3
- package/src/screens/Template/EditTemplate.js +6 -4
- package/src/screens/Template/__test__/EditTemplate.test.js +7 -7
- package/src/screens/Template/__test__/detail.test.js +4 -4
- package/src/screens/Template/__test__/index.test.js +1 -1
- package/src/screens/UVIndexGuide/index.js +2 -4
- package/src/screens/Unit/Detail.js +1 -5
- package/src/screens/Unit/MoreMenu.js +6 -5
- package/src/screens/Unit/SelectAddToFavorites.js +2 -2
- package/src/screens/Unit/SelectAddress.js +16 -12
- package/src/screens/Unit/Station/__test__/index.test.js +1 -1
- package/src/screens/Unit/__test__/MoreMenu.test.js +5 -1
- package/src/screens/Unit/__test__/SelectAddToFavorites.test.js +9 -9
- package/src/screens/Unit/__test__/SelectAddress.test.js +11 -17
- package/src/screens/Unit/__test__/Summaries.test.js +7 -7
- package/src/screens/Unit/components/AutomateScript/index.js +5 -5
- package/src/screens/Unit/components/ButtonWrapper/index.js +3 -3
- package/src/screens/Unit/components/Header/index.js +2 -2
- package/src/screens/Unit/components/SharedUnit/index.js +5 -5
- package/src/screens/Unit/components/__test__/AutomateScript.test.js +3 -3
- package/src/screens/Unit/components/__test__/SharedUnit.test.js +8 -8
- package/src/screens/Unit/hook/__test__/useUnitConnectRemoteDevices.test.js +2 -2
- package/src/screens/UnitSummary/components/AirQuality/index.js +6 -11
- package/src/screens/UnitSummary/components/WaterQuality/Item/index.js +5 -5
- package/src/screens/UnitSummary/index.js +6 -2
- package/src/utils/Apis/axios.js +5 -5
- package/src/utils/Functions/ShortEmail.js +1 -0
- package/src/utils/I18n/translations/en.js +6 -3
- package/src/utils/I18n/translations/vi.js +8 -4
- package/src/utils/__test__/Utils.test.js +16 -16
- package/src/utils/bluetooth.js +3 -0
- package/assets/images/OneTap.svg +0 -14
- package/assets/images/Schedule.svg +0 -39
- package/assets/images/ValueChange.svg +0 -49
|
@@ -25,9 +25,12 @@ const MultiUnits = () => {
|
|
|
25
25
|
const isFocused = useIsFocused();
|
|
26
26
|
const { navigate } = useNavigation();
|
|
27
27
|
const { params = {}, name: currentRouteName } = useRoute();
|
|
28
|
-
const { unit
|
|
28
|
+
const { unit = {} } = params;
|
|
29
|
+
const { id: unitId, name } = unit;
|
|
29
30
|
const [data, setData] = useState([]);
|
|
30
31
|
const permissions = useBackendPermission();
|
|
32
|
+
const { smart_script_for_multi_unit, max_automations_per_unit } =
|
|
33
|
+
permissions || {};
|
|
31
34
|
|
|
32
35
|
const [tabActive, setTabActive] = useState(AUTOMATE_TABS.SCENARIO);
|
|
33
36
|
|
|
@@ -37,8 +40,8 @@ const MultiUnits = () => {
|
|
|
37
40
|
|
|
38
41
|
const getData = useCallback(
|
|
39
42
|
async (fetchParams) => {
|
|
40
|
-
if (
|
|
41
|
-
await fetchWithCache(API.UNIT.AUTOMATE(
|
|
43
|
+
if (unitId) {
|
|
44
|
+
await fetchWithCache(API.UNIT.AUTOMATE(unitId), {}, (response) => {
|
|
42
45
|
const { success, data: automateData } = response;
|
|
43
46
|
success && setData(automateData);
|
|
44
47
|
});
|
|
@@ -50,7 +53,7 @@ const MultiUnits = () => {
|
|
|
50
53
|
success && setData(automateData);
|
|
51
54
|
}
|
|
52
55
|
},
|
|
53
|
-
[
|
|
56
|
+
[unitId]
|
|
54
57
|
);
|
|
55
58
|
|
|
56
59
|
const onPressTabName = (tab) => () => {
|
|
@@ -62,32 +65,26 @@ const MultiUnits = () => {
|
|
|
62
65
|
navigate(Routes.UnitStack, {
|
|
63
66
|
screen: Routes.ScriptDetail,
|
|
64
67
|
params: {
|
|
65
|
-
id: item?.id,
|
|
66
|
-
unitId: unit?.id,
|
|
67
68
|
preAutomate: item,
|
|
68
69
|
},
|
|
69
70
|
});
|
|
70
71
|
},
|
|
71
|
-
[navigate
|
|
72
|
+
[navigate]
|
|
72
73
|
);
|
|
73
74
|
|
|
74
|
-
useEffect(() => {
|
|
75
|
-
newAutomate && onPressItem(newAutomate);
|
|
76
|
-
}, [newAutomate, onPressItem]);
|
|
77
|
-
|
|
78
75
|
const handleOnAddNew = useCallback(() => {
|
|
79
|
-
if (
|
|
80
|
-
if (
|
|
76
|
+
if (unitId) {
|
|
77
|
+
if (max_automations_per_unit <= data.length) {
|
|
81
78
|
ToastBottomHelper.error(
|
|
82
79
|
t('reach_max_automations_per_unit', {
|
|
83
|
-
length:
|
|
80
|
+
length: max_automations_per_unit,
|
|
84
81
|
}),
|
|
85
82
|
'',
|
|
86
83
|
7000
|
|
87
84
|
);
|
|
88
85
|
return;
|
|
89
86
|
}
|
|
90
|
-
} else if (!
|
|
87
|
+
} else if (!smart_script_for_multi_unit) {
|
|
91
88
|
ToastBottomHelper.error(
|
|
92
89
|
t('no_permission_smart_script_for_multi_unit'),
|
|
93
90
|
'',
|
|
@@ -99,7 +96,7 @@ const MultiUnits = () => {
|
|
|
99
96
|
navigate(Routes.UnitStack, {
|
|
100
97
|
screen: Routes.ScenarioName,
|
|
101
98
|
params: {
|
|
102
|
-
automate: { type: AUTOMATE_TYPE.ONE_TAP, unit:
|
|
99
|
+
automate: { type: AUTOMATE_TYPE.ONE_TAP, unit: unitId },
|
|
103
100
|
closeScreen: currentRouteName,
|
|
104
101
|
},
|
|
105
102
|
});
|
|
@@ -107,9 +104,9 @@ const MultiUnits = () => {
|
|
|
107
104
|
}
|
|
108
105
|
|
|
109
106
|
navigate(Routes.UnitStack, {
|
|
110
|
-
screen: Routes.
|
|
107
|
+
screen: Routes.AddAutomationTypeSmart,
|
|
111
108
|
params: {
|
|
112
|
-
automate: { unit:
|
|
109
|
+
automate: { unit: unitId },
|
|
113
110
|
closeScreen: currentRouteName,
|
|
114
111
|
},
|
|
115
112
|
});
|
|
@@ -117,11 +114,11 @@ const MultiUnits = () => {
|
|
|
117
114
|
currentRouteName,
|
|
118
115
|
data.length,
|
|
119
116
|
navigate,
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
max_automations_per_unit,
|
|
118
|
+
smart_script_for_multi_unit,
|
|
122
119
|
t,
|
|
123
120
|
tabActive,
|
|
124
|
-
|
|
121
|
+
unitId,
|
|
125
122
|
]);
|
|
126
123
|
|
|
127
124
|
const renderContent = useMemo(() => {
|
|
@@ -166,7 +163,7 @@ const MultiUnits = () => {
|
|
|
166
163
|
return (
|
|
167
164
|
<View style={styles.wrap}>
|
|
168
165
|
<WrapHeaderScrollable
|
|
169
|
-
title={
|
|
166
|
+
title={unitId ? name : t('multi_units_automate')}
|
|
170
167
|
headerAniStyle={styles.headerAniStyle}
|
|
171
168
|
>
|
|
172
169
|
<View style={styles.wrapContent}>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import MockAdapter from 'axios-mock-adapter';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import { Platform, TextInput, TouchableOpacity } from 'react-native';
|
|
4
4
|
import { act, create } from 'react-test-renderer';
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import { useNavigation, useRoute } from '@react-navigation/native';
|
|
7
|
+
import { API } from '../../../../configs';
|
|
7
8
|
import { AccessibilityLabel } from '../../../../configs/Constants';
|
|
8
9
|
import { SCProvider } from '../../../../context';
|
|
9
10
|
import { mockSCStore } from '../../../../context/mockStore';
|
|
10
|
-
import Routes from '../../../../utils/Route';
|
|
11
11
|
import api from '../../../../utils/Apis/axios';
|
|
12
|
-
import
|
|
13
|
-
import
|
|
12
|
+
import Routes from '../../../../utils/Route';
|
|
13
|
+
import AddNewOneTap from '../index';
|
|
14
14
|
|
|
15
15
|
const wrapComponent = (route) => {
|
|
16
16
|
useRoute.mockReturnValue(route);
|
|
@@ -81,7 +81,8 @@ describe('test OneTap', () => {
|
|
|
81
81
|
merge: true,
|
|
82
82
|
name: Routes.ScriptDetail,
|
|
83
83
|
params: {
|
|
84
|
-
|
|
84
|
+
closeScreen: Routes.ScriptDetail,
|
|
85
|
+
preAutomate: {
|
|
85
86
|
id: 1,
|
|
86
87
|
script: { id: 1, name: 'William Miller' },
|
|
87
88
|
type: 'one_tap',
|
|
@@ -114,7 +115,7 @@ describe('test OneTap', () => {
|
|
|
114
115
|
await act(async () => {
|
|
115
116
|
await item[0].props.onPress();
|
|
116
117
|
});
|
|
117
|
-
expect(global.mockedNavigate).not.
|
|
118
|
+
expect(global.mockedNavigate).not.toHaveBeenCalled();
|
|
118
119
|
});
|
|
119
120
|
|
|
120
121
|
it('test onClose have automateId', async () => {
|
|
@@ -122,8 +123,13 @@ describe('test OneTap', () => {
|
|
|
122
123
|
let route = {
|
|
123
124
|
params: {
|
|
124
125
|
closeScreen: Routes.ScriptDetail,
|
|
126
|
+
automate: {
|
|
127
|
+
unit: 1,
|
|
128
|
+
},
|
|
129
|
+
unitId: 1,
|
|
125
130
|
},
|
|
126
131
|
};
|
|
132
|
+
|
|
127
133
|
mock.onPost(API.AUTOMATE.CREATE_AUTOMATE()).reply(400);
|
|
128
134
|
await act(async () => {
|
|
129
135
|
tree = await create(wrapComponent(route));
|
|
@@ -136,6 +142,10 @@ describe('test OneTap', () => {
|
|
|
136
142
|
await act(async () => {
|
|
137
143
|
header.props.onPress();
|
|
138
144
|
});
|
|
139
|
-
expect(global.mockedNavigate).toHaveBeenCalledWith(Routes.ScriptDetail
|
|
145
|
+
expect(global.mockedNavigate).toHaveBeenCalledWith(Routes.ScriptDetail, {
|
|
146
|
+
unitId: 1,
|
|
147
|
+
automate: { unit: 1 },
|
|
148
|
+
closeScreen: Routes.ScriptDetail,
|
|
149
|
+
});
|
|
140
150
|
});
|
|
141
151
|
});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import MockAdapter from 'axios-mock-adapter';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import { Platform, TextInput, TouchableOpacity } from 'react-native';
|
|
4
4
|
import { act, create } from 'react-test-renderer';
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import { useNavigation, useRoute } from '@react-navigation/native';
|
|
7
|
+
import { API } from '../../../../configs';
|
|
7
8
|
import { AccessibilityLabel } from '../../../../configs/Constants';
|
|
8
9
|
import { SCProvider } from '../../../../context';
|
|
9
10
|
import { mockSCStore } from '../../../../context/mockStore';
|
|
10
|
-
import Routes from '../../../../utils/Route';
|
|
11
11
|
import api from '../../../../utils/Apis/axios';
|
|
12
|
-
import
|
|
13
|
-
import
|
|
12
|
+
import Routes from '../../../../utils/Route';
|
|
13
|
+
import ScenarioName from '../ScenarioName';
|
|
14
14
|
|
|
15
15
|
const wrapComponent = (route) => {
|
|
16
16
|
useRoute.mockReturnValue(route);
|
|
@@ -103,7 +103,7 @@ describe('test OneTap', () => {
|
|
|
103
103
|
await act(async () => {
|
|
104
104
|
await item[0].props.onPress();
|
|
105
105
|
});
|
|
106
|
-
expect(global.mockedNavigate).not.
|
|
106
|
+
expect(global.mockedNavigate).not.toHaveBeenCalled();
|
|
107
107
|
});
|
|
108
108
|
|
|
109
109
|
it('test onClose have automateId', async () => {
|
|
@@ -111,6 +111,10 @@ describe('test OneTap', () => {
|
|
|
111
111
|
let route = {
|
|
112
112
|
params: {
|
|
113
113
|
closeScreen: Routes.ScriptDetail,
|
|
114
|
+
automate: {
|
|
115
|
+
unit: 1,
|
|
116
|
+
},
|
|
117
|
+
unitId: 1,
|
|
114
118
|
},
|
|
115
119
|
};
|
|
116
120
|
mock.onPost(API.AUTOMATE.CREATE_AUTOMATE()).reply(400);
|
|
@@ -125,6 +129,10 @@ describe('test OneTap', () => {
|
|
|
125
129
|
await act(async () => {
|
|
126
130
|
header.props.onPress();
|
|
127
131
|
});
|
|
128
|
-
expect(global.mockedNavigate).toHaveBeenCalledWith(Routes.ScriptDetail
|
|
132
|
+
expect(global.mockedNavigate).toHaveBeenCalledWith(Routes.ScriptDetail, {
|
|
133
|
+
unitId: 1,
|
|
134
|
+
automate: { unit: 1 },
|
|
135
|
+
closeScreen: 'ScriptDetail',
|
|
136
|
+
});
|
|
129
137
|
});
|
|
130
138
|
});
|
|
@@ -11,7 +11,7 @@ import Event from '../../../../../assets/images/Event.svg';
|
|
|
11
11
|
import Notify from '../../../../../assets/images/Notify.svg';
|
|
12
12
|
import Delay from '../../../../../assets/images/Delay.svg';
|
|
13
13
|
import { TouchableOpacity } from 'react-native';
|
|
14
|
-
import
|
|
14
|
+
import { IconOutline } from '@ant-design/icons-react-native';
|
|
15
15
|
import { Text } from '../../../../commons';
|
|
16
16
|
import Routes from '../../../../utils/Route';
|
|
17
17
|
import AccessibilityLabel from '../../../../configs/AccessibilityLabel';
|
|
@@ -40,6 +40,7 @@ const AddActionScript = memo(
|
|
|
40
40
|
closeScreen: currentScreenName,
|
|
41
41
|
numberActionCanAdd:
|
|
42
42
|
max_actions_per_automation - numberActionAdded,
|
|
43
|
+
routeName: unit ? null : Routes.SelectControlDevices,
|
|
43
44
|
};
|
|
44
45
|
|
|
45
46
|
navigate(
|
|
@@ -54,10 +55,17 @@ const AddActionScript = memo(
|
|
|
54
55
|
image: <Notify />,
|
|
55
56
|
onClick: () => {
|
|
56
57
|
setIsVisible(false);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
if (unit) {
|
|
59
|
+
navigate(Routes.SetupScriptNotify, {
|
|
60
|
+
automate,
|
|
61
|
+
unitId: unit,
|
|
62
|
+
});
|
|
63
|
+
} else {
|
|
64
|
+
navigate(Routes.SelectUnit, {
|
|
65
|
+
automate,
|
|
66
|
+
routeName: Routes.SetupScriptNotify,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
61
69
|
},
|
|
62
70
|
},
|
|
63
71
|
{
|
|
@@ -109,7 +117,7 @@ const AddActionScript = memo(
|
|
|
109
117
|
<View style={styles.wapItem}>
|
|
110
118
|
<View style={styles.imageItem}>{item.image}</View>
|
|
111
119
|
<Text style={styles.textItem}>{item.text}</Text>
|
|
112
|
-
<
|
|
120
|
+
<IconOutline name="right" />
|
|
113
121
|
</View>
|
|
114
122
|
</TouchableOpacity>
|
|
115
123
|
</View>
|
|
@@ -14,14 +14,11 @@ const RenameScript = ({ automate, setAutomate, isVisible, setIsVisible }) => {
|
|
|
14
14
|
const transY = useKeyboardAnimated();
|
|
15
15
|
|
|
16
16
|
const renameScript = useCallback(async () => {
|
|
17
|
-
const { success
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
name: inputName,
|
|
21
|
-
}
|
|
22
|
-
);
|
|
17
|
+
const { success } = await axiosPatch(API.AUTOMATE.SCRIPT(automate.id), {
|
|
18
|
+
name: inputName,
|
|
19
|
+
});
|
|
23
20
|
if (success) {
|
|
24
|
-
setAutomate((prev) => ({ ...prev, name:
|
|
21
|
+
setAutomate((prev) => ({ ...prev, name: inputName }));
|
|
25
22
|
ToastBottomHelper.success(t('rename_successfully'));
|
|
26
23
|
} else {
|
|
27
24
|
ToastBottomHelper.error(t('rename_failed'));
|
|
@@ -8,7 +8,6 @@ import MockAdapter from 'axios-mock-adapter';
|
|
|
8
8
|
import { SCProvider } from '../../../../context';
|
|
9
9
|
import { mockSCStore } from '../../../../context/mockStore';
|
|
10
10
|
import ScriptDetail from '../index';
|
|
11
|
-
import MenuActionMore from '../../../../commons/MenuActionMore';
|
|
12
11
|
import AlertAction from '../../../../commons/AlertAction';
|
|
13
12
|
import _TextInput from '../../../../commons/Form/TextInput';
|
|
14
13
|
import {
|
|
@@ -18,12 +17,12 @@ import {
|
|
|
18
17
|
import { API } from '../../../../configs';
|
|
19
18
|
import Routes from '../../../../utils/Route';
|
|
20
19
|
import WrapHeaderScrollable from '../../../../commons/Sharing/WrapHeaderScrollable';
|
|
21
|
-
import ItemAutomate from '../../../../commons/Automate/ItemAutomate';
|
|
22
20
|
import api from '../../../../utils/Apis/axios';
|
|
23
21
|
import Text from '../../../../commons/Text';
|
|
24
22
|
import { ToastBottomHelper } from '../../../../utils/Utils';
|
|
25
23
|
import { getTranslate } from '../../../../utils/I18n';
|
|
26
24
|
import AddActionScript from '../Components/AddActionScript';
|
|
25
|
+
import ItemConditionScriptDetail from '../../../../commons/Automate/ItemConditionScriptDetail';
|
|
27
26
|
|
|
28
27
|
const wrapComponent = (route, storeData = {}) => (
|
|
29
28
|
<SCProvider initState={mockSCStore(storeData)}>
|
|
@@ -101,7 +100,10 @@ describe('Test ScriptDetail', () => {
|
|
|
101
100
|
tree = await create(wrapComponent(route));
|
|
102
101
|
});
|
|
103
102
|
const instance = tree.root;
|
|
104
|
-
const menu = instance.
|
|
103
|
+
const menu = instance.find(
|
|
104
|
+
(el) =>
|
|
105
|
+
el.props.accessibilityLabel === AccessibilityLabel.MENU_POPPER_MORE
|
|
106
|
+
);
|
|
105
107
|
const alertAction = instance.findAllByType(AlertAction)[0];
|
|
106
108
|
const rename = menu.props.listMenuItem[0];
|
|
107
109
|
|
|
@@ -127,7 +129,10 @@ describe('Test ScriptDetail', () => {
|
|
|
127
129
|
tree = await create(wrapComponent(route));
|
|
128
130
|
});
|
|
129
131
|
const instance = tree.root;
|
|
130
|
-
const menu = instance.
|
|
132
|
+
const menu = instance.find(
|
|
133
|
+
(el) =>
|
|
134
|
+
el.props.accessibilityLabel === AccessibilityLabel.MENU_POPPER_MORE
|
|
135
|
+
);
|
|
131
136
|
const alertAction = instance.findAllByType(AlertAction)[0];
|
|
132
137
|
const rename = menu.props.listMenuItem[0];
|
|
133
138
|
|
|
@@ -153,9 +158,9 @@ describe('Test ScriptDetail', () => {
|
|
|
153
158
|
tree = await create(wrapComponent(route));
|
|
154
159
|
});
|
|
155
160
|
const instance = tree.root;
|
|
156
|
-
const menu = instance.
|
|
157
|
-
accessibilityLabel
|
|
158
|
-
|
|
161
|
+
const menu = instance.find(
|
|
162
|
+
(el) => el.props.accessibilityLabel === AccessibilityLabel.ICON_MORE
|
|
163
|
+
);
|
|
159
164
|
|
|
160
165
|
await act(async () => {
|
|
161
166
|
await menu.props.onPress();
|
|
@@ -173,7 +178,7 @@ describe('Test ScriptDetail', () => {
|
|
|
173
178
|
tree = await create(wrapComponent(route));
|
|
174
179
|
});
|
|
175
180
|
const instance = tree.root;
|
|
176
|
-
const itemAutomate = instance.findByType(
|
|
181
|
+
const itemAutomate = instance.findByType(ItemConditionScriptDetail);
|
|
177
182
|
|
|
178
183
|
await act(async () => {
|
|
179
184
|
await itemAutomate.props.onPress();
|
|
@@ -188,7 +193,10 @@ describe('Test ScriptDetail', () => {
|
|
|
188
193
|
tree = await create(wrapComponent(route));
|
|
189
194
|
});
|
|
190
195
|
const instance = tree.root;
|
|
191
|
-
const menu = instance.
|
|
196
|
+
const menu = instance.find(
|
|
197
|
+
(el) =>
|
|
198
|
+
el.props.accessibilityLabel === AccessibilityLabel.MENU_POPPER_MORE
|
|
199
|
+
);
|
|
192
200
|
const alertAction = instance.findAllByType(AlertAction)[1];
|
|
193
201
|
const deleteItem = menu.props.listMenuItem[2];
|
|
194
202
|
|
|
@@ -222,7 +230,10 @@ describe('Test ScriptDetail', () => {
|
|
|
222
230
|
await act(async () => {
|
|
223
231
|
await buttonStar.props.onPress();
|
|
224
232
|
});
|
|
225
|
-
const menu = instance.
|
|
233
|
+
const menu = instance.find(
|
|
234
|
+
(el) =>
|
|
235
|
+
el.props.accessibilityLabel === AccessibilityLabel.MENU_POPPER_MORE
|
|
236
|
+
);
|
|
226
237
|
const addFavorite = menu.props.listMenuItem[1];
|
|
227
238
|
mock.onPost(API.AUTOMATE.STAR_SCRIPT(1)).reply(200);
|
|
228
239
|
await act(async () => {
|
|
@@ -308,6 +319,8 @@ describe('Test ScriptDetail', () => {
|
|
|
308
319
|
unitId: route.params.preAutomate.unit,
|
|
309
320
|
automateId: route.params.preAutomate.id,
|
|
310
321
|
numberActionCanAdd: 2,
|
|
322
|
+
closeScreen: undefined,
|
|
323
|
+
routeName: null,
|
|
311
324
|
}
|
|
312
325
|
);
|
|
313
326
|
mockedNavigate.mockClear();
|
|
@@ -344,7 +357,7 @@ describe('Test ScriptDetail', () => {
|
|
|
344
357
|
const instance = tree.root;
|
|
345
358
|
const switchButton = instance.findByType(Switch);
|
|
346
359
|
await act(async () => {
|
|
347
|
-
await switchButton.props.
|
|
360
|
+
await switchButton.props.onValueChange(false);
|
|
348
361
|
});
|
|
349
362
|
const buttonAddScript = instance.findAll(
|
|
350
363
|
(el) =>
|
|
@@ -442,7 +455,10 @@ describe('Test ScriptDetail', () => {
|
|
|
442
455
|
tree = await create(wrapComponent(route));
|
|
443
456
|
});
|
|
444
457
|
const instance = tree.root;
|
|
445
|
-
const menu = instance.
|
|
458
|
+
const menu = instance.find(
|
|
459
|
+
(el) =>
|
|
460
|
+
el.props.accessibilityLabel === AccessibilityLabel.MENU_POPPER_MORE
|
|
461
|
+
);
|
|
446
462
|
const gotoActivityLog = menu.props.listMenuItem[1];
|
|
447
463
|
|
|
448
464
|
await act(async () => {
|
|
@@ -490,7 +506,7 @@ describe('Test ScriptDetail', () => {
|
|
|
490
506
|
tree = await create(wrapComponent(route));
|
|
491
507
|
});
|
|
492
508
|
const instance = tree.root;
|
|
493
|
-
const itemAutomate = instance.findByType(
|
|
509
|
+
const itemAutomate = instance.findByType(ItemConditionScriptDetail);
|
|
494
510
|
expect(itemAutomate.findAllByType(Text)[1].props.children).toEqual(
|
|
495
511
|
'Light Value higher than 3'
|
|
496
512
|
);
|
|
@@ -498,6 +514,15 @@ describe('Test ScriptDetail', () => {
|
|
|
498
514
|
await act(async () => {
|
|
499
515
|
itemAutomate.findByType(TouchableOpacity).props.onPress();
|
|
500
516
|
});
|
|
517
|
+
const menuActionMore = instance.find(
|
|
518
|
+
(el) =>
|
|
519
|
+
el.props.accessibilityLabel ===
|
|
520
|
+
AccessibilityLabel.MENU_ACTION_LIST_TOUCHABLE
|
|
521
|
+
);
|
|
522
|
+
await act(async () => {
|
|
523
|
+
menuActionMore.props.onItemClick({ doAction: jest.fn() });
|
|
524
|
+
menuActionMore.props.listMenuItem[0].doAction();
|
|
525
|
+
});
|
|
501
526
|
expect(global.mockedNavigate).toBeCalled();
|
|
502
527
|
});
|
|
503
528
|
|
|
@@ -513,7 +538,7 @@ describe('Test ScriptDetail', () => {
|
|
|
513
538
|
tree = await create(wrapComponent(route));
|
|
514
539
|
});
|
|
515
540
|
const instance = tree.root;
|
|
516
|
-
const itemAutomate = instance.findByType(
|
|
541
|
+
const itemAutomate = instance.findByType(ItemConditionScriptDetail);
|
|
517
542
|
expect(itemAutomate.findAllByType(Text)[1].props.children).toEqual(
|
|
518
543
|
'Light Value equal 3'
|
|
519
544
|
);
|
|
@@ -535,7 +560,7 @@ describe('Test ScriptDetail', () => {
|
|
|
535
560
|
tree = await create(wrapComponent(route));
|
|
536
561
|
});
|
|
537
562
|
const instance = tree.root;
|
|
538
|
-
const itemAutomate = instance.findByType(
|
|
563
|
+
const itemAutomate = instance.findByType(ItemConditionScriptDetail);
|
|
539
564
|
expect(itemAutomate.findAllByType(Text)[1].props.children).toEqual(
|
|
540
565
|
'Light Value lower than 3'
|
|
541
566
|
);
|
|
@@ -557,7 +582,7 @@ describe('Test ScriptDetail', () => {
|
|
|
557
582
|
tree = await create(wrapComponent(route));
|
|
558
583
|
});
|
|
559
584
|
const instance = tree.root;
|
|
560
|
-
const itemAutomate = instance.findByType(
|
|
585
|
+
const itemAutomate = instance.findByType(ItemConditionScriptDetail);
|
|
561
586
|
expect(itemAutomate.findAllByType(Text)[1].props.children).toEqual(
|
|
562
587
|
'Every day at 19:00'
|
|
563
588
|
);
|
|
@@ -580,7 +605,7 @@ describe('Test ScriptDetail', () => {
|
|
|
580
605
|
tree = await create(wrapComponent(route));
|
|
581
606
|
});
|
|
582
607
|
const instance = tree.root;
|
|
583
|
-
const itemAutomate = instance.findByType(
|
|
608
|
+
const itemAutomate = instance.findByType(ItemConditionScriptDetail);
|
|
584
609
|
expect(itemAutomate.findAllByType(Text)[1].props.children).toEqual(
|
|
585
610
|
'Mon, Tue, Thu, Sat at 19:00'
|
|
586
611
|
);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { act, renderHook } from '@testing-library/react-hooks';
|
|
3
|
-
import { SCProvider } from '../../../../context';
|
|
4
|
-
import { mockSCStore } from '../../../../context/mockStore';
|
|
5
|
-
import { useStarredScript } from '../hooks/useStarredScript';
|
|
6
2
|
import MockAdapter from 'axios-mock-adapter';
|
|
7
|
-
import
|
|
3
|
+
import React from 'react';
|
|
8
4
|
import { API } from '../../../../configs';
|
|
5
|
+
import { SCProvider } from '../../../../context';
|
|
9
6
|
import { Action } from '../../../../context/actionType';
|
|
7
|
+
import { mockSCStore } from '../../../../context/mockStore';
|
|
8
|
+
import api from '../../../../utils/Apis/axios';
|
|
9
|
+
import { useStarredScript } from '../hooks/useStarredScript';
|
|
10
10
|
|
|
11
11
|
const mockedSetAction = jest.fn();
|
|
12
12
|
const mock = new MockAdapter(api.axiosInstance);
|
|
@@ -42,6 +42,6 @@ describe('Test useStarredScript', () => {
|
|
|
42
42
|
await act(async () => {
|
|
43
43
|
await result.current.unstarScript();
|
|
44
44
|
});
|
|
45
|
-
expect(mockedSetAction).
|
|
45
|
+
expect(mockedSetAction).toHaveBeenCalledWith(Action.UNSTAR_SCRIPTS, [2]);
|
|
46
46
|
});
|
|
47
47
|
});
|