From 564fdb0c2e601df73813a4e9d080bd1666befce4 Mon Sep 17 00:00:00 2001 From: xuegao Date: Wed, 2 Oct 2019 11:18:10 +0200 Subject: Add react ui test Add react ui test to improve code coverage. Issue-ID: CLAMP-509 Change-Id: Ic9c974a78ee453dddb8f985f3e9c9067f66e95d9 Signed-off-by: xuegao --- .../src/components/dialogs/LoopProperties.test.js | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'ui-react/src/components/dialogs/LoopProperties.test.js') diff --git a/ui-react/src/components/dialogs/LoopProperties.test.js b/ui-react/src/components/dialogs/LoopProperties.test.js index fadb9099..9b74fe76 100644 --- a/ui-react/src/components/dialogs/LoopProperties.test.js +++ b/ui-react/src/components/dialogs/LoopProperties.test.js @@ -24,6 +24,7 @@ import React from 'react'; import { shallow } from 'enzyme'; import LoopProperties from './LoopProperties'; import LoopCache from '../../api/LoopCache'; +import LoopService from '../../api/LoopService'; describe('Verify LoopProperties', () => { const loopCache = new LoopCache({ @@ -58,4 +59,50 @@ describe('Verify LoopProperties', () => { expect(component).toMatchSnapshot(); }); + + it('Test handleClose', () => { + const historyMock = { push: jest.fn() }; + const handleClose = jest.spyOn(LoopProperties.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 loadLoopFunction = jest.fn(); + const handleSave = jest.spyOn(LoopProperties.prototype,'handleSave'); + LoopService.updateGlobalProperties = jest.fn().mockImplementation(() => { + return Promise.resolve({ + ok: true, + status: 200, + text: () => "OK" + }); + }); + + 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([ '/']); + }); + + it('Onchange event', () => { + const event = {target:{name:"dcaeDeployParameters", value:"{\"location_id\": \"testLocation\",\"policy_id\": \"TCA_h2NMX_v1_0_ResourceInstanceName1_tca\"}"}}; + const component = shallow(); + + component.find('FormControl').simulate('change', event); + component.update(); + + expect(component.state('temporaryPropertiesJson').dcaeDeployParameters.location_id).toEqual("testLocation"); + }); }); -- cgit