From 4be96f85c65df9384b11d68e87ca9e03e27a083c Mon Sep 17 00:00:00 2001 From: brunomilitzer Date: Fri, 17 Dec 2021 17:41:57 +0000 Subject: Added Jest Unit Tests Jest Tests for creation of instance properties Jest Tests for deletion of instance properties Included Issue-Id: 3566 Issue-ID: POLICY-3563 Signed-off-by: brunomilitzer Change-Id: I227ae8f306df10ee3cc341791471dda9ca79d9d1 --- .../ControlLoop/InstantiationManagementModal.js | 45 ++++++++-------------- 1 file changed, 16 insertions(+), 29 deletions(-) (limited to 'gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstantiationManagementModal.js') diff --git a/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstantiationManagementModal.js b/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstantiationManagementModal.js index 6a435e4..93b504a 100644 --- a/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstantiationManagementModal.js +++ b/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstantiationManagementModal.js @@ -27,6 +27,7 @@ import styled from "styled-components"; import { Link } from "react-router-dom"; import ControlLoopService from "../../../api/ControlLoopService"; import Row from "react-bootstrap/Row"; +import InstantiationUtils from "./utils/InstantiationUtils"; const ModalStyled = styled(Modal)` background-color: transparent; @@ -47,6 +48,7 @@ const DivWhiteSpaceStyled = styled.div` const InstantiationManagementModal = (props) => { const [show, setShow] = useState(true); const [instantiationList, setInstantiationList] = useState([]); + const [deleteInstantiation, setDeleteInstantiation] = useState(false); const [alertMessage, setAlertMessage] = useState(null); useEffect(async () => { @@ -55,16 +57,7 @@ const InstantiationManagementModal = (props) => { const instantiationListJson = await response.json(); - const parsedInstantiationList = instantiationListJson['controlLoopList'].map((instance, index) => { - return { - index: index, - name: instance['name'], - version: instance['version'], - orderedState: instance['orderedState'], - currentState: instance['state'], - disableDelete: instance['state'] !== 'UNINITIALISED' - } - }); + const parsedInstantiationList = InstantiationUtils.parseInstantiationList(instantiationListJson['controlLoopList']); setInstantiationList(parsedInstantiationList); }, []); @@ -77,18 +70,26 @@ const InstantiationManagementModal = (props) => { return 'White'; } - const deleteInstantiationHandler = async (instantiation, index) => { + const deleteInstantiationHandler = async (index, instantiation) => { console.log("deleteInstantiationHandler called"); + setDeleteInstantiation(true); + + if (instantiation.disableDelete) { + return; + } const name = instantiation.name; const version = instantiation.version; const response = await ControlLoopService.deleteInstantiation(name, version); + console.log(response); + updateList(index); if (response.ok) { successAlert(); + setDeleteInstantiation(false); } else { await errorAlert(response); } @@ -96,7 +97,6 @@ const InstantiationManagementModal = (props) => { const updateList = (index) => { console.log("updateList called") - console.log(instantiationList) const updatedList = [...instantiationList]; updatedList.splice(index, 1); @@ -104,22 +104,6 @@ const InstantiationManagementModal = (props) => { setInstantiationList(updatedList); } - const renderDeleteButton = (instantiation, index) => { - if (instantiation.disableDelete) { - return ( - - ); - - } else { - return ( - - ); - } - } - const handleClose = () => { console.log("handleClose called"); setShow(false); @@ -200,7 +184,10 @@ const InstantiationManagementModal = (props) => { - { renderDeleteButton(instantiation, index) } +