From ce0db169bce5d44ab36be7015a11c9a0205e05a1 Mon Sep 17 00:00:00 2001 From: "saul.gill" Date: Fri, 29 Oct 2021 14:24:20 +0100 Subject: 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 --- .../dialogs/ControlLoop/GetToscaTemplate.test.js | 40 +++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) (limited to 'gui-clamp/ui-react/src/components/dialogs/ControlLoop/GetToscaTemplate.test.js') 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(); }); @@ -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() + 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() 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', () => { -- cgit 1.2.3-korg