diff options
author | 2022-02-01 10:53:44 +0000 | |
---|---|---|
committer | 2022-02-01 10:53:44 +0000 | |
commit | d211be2cbad3ae4dea9dc90dcac80cccd9a510ab (patch) | |
tree | 9aa0dfbce3bdaedda126b021fabf9338eb0040eb /gui-clamp/ui-react/src/components/dialogs/Policy/ViewAllPolicies.test.js | |
parent | c0a3e2fd655ca42dd3291e2b6f0346e4e44ffc87 (diff) | |
parent | f8ec2dcdcec8a686d3e58d82a99aa097df2f0c41 (diff) |
Merge "Added Menu and Loop Jest Tests"
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'); + }); +}); |