diff options
author | 2022-01-27 17:51:58 +0000 | |
---|---|---|
committer | 2022-01-28 13:58:53 +0000 | |
commit | f8ec2dcdcec8a686d3e58d82a99aa097df2f0c41 (patch) | |
tree | dc981ad80437976d89662e01139cc26c6da463e4 /gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js | |
parent | 9957cf988f2199d9d0ff3838e7f90e70d9cb6ae8 (diff) |
Added Menu and Loop Jest Tests
Issue-ID: POLICY-3876
Change-Id: I5f4d80aefdff8b837a40742b66727b888e985b86
Signed-off-by: brunomilitzer <bruno.militzer@est.tech>
Diffstat (limited to 'gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js')
-rw-r--r-- | gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js b/gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js new file mode 100644 index 0000000..d477c9a --- /dev/null +++ b/gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js @@ -0,0 +1,135 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +import {shallow} from "enzyme"; +import React from "react"; +import ViewAllPolicies from "./ViewAllPolicies"; +import fs from "fs"; +import PolicyToscaService from "../../../api/PolicyToscaService"; +import PolicyService from "../../../api/PolicyService"; +import CreateLoopModal from "../Loop/CreateLoopModal"; + +describe('Verify ViewAllPolicies', () => { + let toscaPolicyModels = fs.readFileSync('src/components/dialogs/Policy/toscaData.test.json', { + encoding: 'utf8', + flag: 'r' + }); + let toscaPoliciesList = fs.readFileSync('src/components/dialogs/Policy/toscaPoliciesList.test.json', { + encoding: 'utf8', + flag: 'r' + }); + + it('Test handleClose', () => { + const historyMock = {push: jest.fn()}; + const handleClose = jest.spyOn(ViewAllPolicies.prototype, 'handleClose'); + const component = shallow(<ViewAllPolicies history={historyMock}/>); + + component.find('[variant="secondary"]').prop('onClick')(); + + expect(handleClose).toHaveBeenCalledTimes(1); + expect(component.state('show')).toEqual(false); + expect(historyMock.push.mock.calls[0]).toEqual(['/']); + + handleClose.mockClear(); + }); + + it('handleClose called when top-right button clicked', () => { + const historyMock = {push: jest.fn()}; + const handleClose = jest.spyOn(ViewAllPolicies.prototype, 'handleClose'); + const component = shallow(<ViewAllPolicies history={historyMock}/>); + + component.find('[size="xl"]').get(0).props.onHide(); + + expect(handleClose).toHaveBeenCalledTimes(1); + expect(component.state('show')).toEqual(false); + expect(historyMock.push.mock.calls[0]).toEqual(['/']); + + handleClose.mockClear(); + }); + + it('Test getAllToscaModels', () => { + PolicyToscaService.getToscaPolicyModels = jest.fn().mockImplementation(() => { + return Promise.resolve(toscaPolicyModels); + }); + + const getAllToscaModels = jest.spyOn(ViewAllPolicies.prototype, 'getAllToscaModels'); + shallow(<ViewAllPolicies/>); + + expect(getAllToscaModels).toHaveBeenCalledTimes(1); + }); + + it('Test setToscaModelsListData', async () => { + PolicyToscaService.getToscaPolicyModel = jest.fn().mockImplementation(() => { + return Promise.resolve(toscaPolicyModels); + }); + + const component = shallow(<ViewAllPolicies/>); + component.setState({toscaModelsListData: toscaPolicyModels}) + expect(component.state('toscaModelsListData')).toEqual(toscaPolicyModels); + }); + + it('Test getAllPolicies', () => { + PolicyService.getPoliciesList = jest.fn().mockImplementation(() => { + return Promise.resolve(toscaPoliciesList); + }); + + const getAllPolicies = jest.spyOn(ViewAllPolicies.prototype, 'getAllPolicies'); + shallow(<ViewAllPolicies/>); + + expect(getAllPolicies).toHaveBeenCalledTimes(1); + }); + + it('Test setPoliciesListData', async () => { + PolicyService.getPoliciesList = jest.fn().mockImplementation(() => { + return Promise.resolve(toscaPoliciesList); + }); + + const component = shallow(<ViewAllPolicies/>); + component.setState({policiesListData: toscaPoliciesList}); + component.setState({policiesListDataFiltered: toscaPoliciesList}); + + expect(component.state('policiesListData')).toEqual(toscaPoliciesList); + expect(component.state('policiesListDataFiltered')).toEqual(toscaPoliciesList); + }); + + it('Test handleDeletePolicy event rowdata', async () => { + const rowData = { + type: 'onap.policies.monitoring.tcagen2', + type_version: '1.0.0', + name: 'MICROSERVICE_vLoadBalancerMS_v1_0_tcagen2_1_0_0_AV0', + version: '1.0.0' + } + + PolicyService.deletePolicy = await jest.fn().mockImplementation(() => { + return Promise.resolve({}); + }); + + const event = { target: {value: 'event'}} + const component = shallow(<CreateLoopModal/>); + + component.setState({showSuccessAlert: true}); + component.setState({showMessage: 'Policy successfully Deleted'}); + + component.find('input').simulate('click', event, rowData); + component.update(); + + expect(component.state('showSuccessAlert')).toEqual(true); + expect(component.state('showMessage')).toEqual('Policy successfully Deleted'); + }); +}); |