diff options
author | saul.gill <saul.gill@est.tech> | 2021-10-29 14:24:20 +0100 |
---|---|---|
committer | saul.gill <saul.gill@est.tech> | 2021-10-29 15:16:06 +0100 |
commit | ce0db169bce5d44ab36be7015a11c9a0205e05a1 (patch) | |
tree | c2b631c8e320c1528fe4b87da9d5a21eeabe41e8 /gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js | |
parent | 6df019389c1f5de9dd5b7601e270f0ef17ea2491 (diff) |
Added tests to improve coverage
Added new tests and snapshots
Altered existing tests to bring up coverage
Altered package.json in response to warning messages
Removed unused functions from ControlLoopService
Added json testFiles
Added utils directory for out-of-component functions
Issue-ID: POLICY-3643
Change-Id: I3405a4421637e63235ff5176c913a5a5f9a4a44c
Signed-off-by: saul.gill <saul.gill@est.tech>
Diffstat (limited to 'gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js')
-rw-r--r-- | gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js b/gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js index 38da005..71fbeec 100644 --- a/gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js +++ b/gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js @@ -21,9 +21,12 @@ import React from 'react'; import { mount, shallow } from 'enzyme'; import GetToscaTemplate from './GetToscaTemplate'; import toJson from "enzyme-to-json"; +import { act } from "react-dom/test-utils"; describe('Verify GetToscaTemplate', () => { + const flushPromises = () => new Promise(setImmediate); + it("renders without crashing", () => { shallow(<GetToscaTemplate/>); }); @@ -38,12 +41,41 @@ describe('Verify GetToscaTemplate', () => { expect(container.find('Button').length).toEqual(1); }); - it('button should call getTemplateHandler when clicked', async () => { - const component = mount(<GetToscaTemplate/>) + it('button should call getTemplateHandler when clicked when response is error', async () => { + + const onGetToscaServiceTemplate = jest.fn() + jest + .spyOn(global, 'fetch') + .mockImplementationOnce(async () => + Promise.resolve({ + ok: false, + status: 200, + json: () => { + return Promise.resolve({ + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "data_types": {}, + "policy_types": {}, + "topology_template": {}, + "name": "ToscaServiceTemplateSimple", + "version": "1.0.0", + "metadata": {}, + "id": "0.19518677404255147" + }) + } + } + ) + ) + + const component = mount(<GetToscaTemplate onGetToscaServiceTemplate={onGetToscaServiceTemplate}/>) const logSpy = jest.spyOn(console, 'log'); - component.find('[variant="primary"]').simulate('click'); - expect(logSpy).toHaveBeenCalledWith('getTemplateHandler called'); + await act(async () => { + component.find('[variant="primary"]').simulate('click'); + await flushPromises() + component.update() + expect(logSpy).toHaveBeenCalledWith('getToscaServiceTemplateHandler called with error'); + }); + component.unmount(); }); it('should have a Button element with specified text', () => { |