X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ui-react%2Fsrc%2Fcomponents%2Fdialogs%2FDeployLoop.test.js;fp=ui-react%2Fsrc%2Fcomponents%2Fdialogs%2FDeployLoop.test.js;h=2959ed652a603d9234c87dbe56b75d8ecf9813d6;hb=564fdb0c2e601df73813a4e9d080bd1666befce4;hp=bb08baf10907978e855e2bd1a34562f4e3136722;hpb=edec26efea06ee9a9d1e0f2d29fe4b26e62d8dfb;p=clamp.git diff --git a/ui-react/src/components/dialogs/DeployLoop.test.js b/ui-react/src/components/dialogs/DeployLoop.test.js index bb08baf1..2959ed65 100644 --- a/ui-react/src/components/dialogs/DeployLoop.test.js +++ b/ui-react/src/components/dialogs/DeployLoop.test.js @@ -24,6 +24,8 @@ import React from 'react'; import { shallow } from 'enzyme'; import DeployLoop from './DeployLoop'; import LoopCache from '../../api/LoopCache'; +import LoopActionService from '../../api/LoopActionService'; +import LoopService from '../../api/LoopService'; describe('Verify DeployLoop', () => { const loopCache = new LoopCache({ @@ -43,4 +45,67 @@ describe('Verify DeployLoop', () => { expect(component).toMatchSnapshot(); }); + + it('Test handleClose', () => { + const historyMock = { push: jest.fn() }; + const handleClose = jest.spyOn(DeployLoop.prototype,'handleClose'); + const component = shallow() + + component.find('[variant="secondary"]').prop('onClick')(); + + expect(handleClose).toHaveBeenCalledTimes(1); + expect(historyMock.push.mock.calls[0]).toEqual([ '/']); + }); + + it('Test handleSave successful', async () => { + const flushPromises = () => new Promise(setImmediate); + const historyMock = { push: jest.fn() }; + const updateLoopFunction = jest.fn(); + const handleSave = jest.spyOn(DeployLoop.prototype,'handleSave'); + LoopService.updateGlobalProperties = jest.fn().mockImplementation(() => { + return Promise.resolve({ + ok: true, + status: 200, + text: () => "OK" + }); + }); + LoopActionService.performAction = jest.fn().mockImplementation(() => { + return Promise.resolve({ + ok: true, + status: 200, + json: () => {} + }); + }); + LoopActionService.refreshStatus = jest.fn().mockImplementation(() => { + return Promise.resolve({ + ok: true, + status: 200, + json: () => {} + }); + }); + const jsdomAlert = window.alert; + window.alert = () => {}; + const component = shallow() + + component.find('[variant="primary"]').prop('onClick')(); + await flushPromises(); + component.update(); + + expect(handleSave).toHaveBeenCalledTimes(1); + expect(component.state('show')).toEqual(false); + expect(historyMock.push.mock.calls[0]).toEqual([ '/']); + window.alert = jsdomAlert; + handleSave.mockClear(); + }); + + it('Onchange event', () => { + const event = { target: { name: "location_id", value: "testLocation"} }; + const component = shallow(); + const forms = component.find('StateManager'); + + component.find('[name="location_id"]').simulate('change', event); + component.update(); + expect(component.state('temporaryPropertiesJson').dcaeDeployParameters.location_id).toEqual("testLocation"); + }); }); \ No newline at end of file