From 360b7a3b57b7f26f023f979465de7f9d47cc15cb Mon Sep 17 00:00:00 2001 From: lapentafd Date: Tue, 8 Mar 2022 09:25:43 +0000 Subject: Code coverage policy gui react Issue-ID: POLICY-3351 Signed-off-by: lapentafd Change-Id: I5329a7437be4702361940ef9e22f51413ed892d0 --- gui-clamp/ui-react/src/LoopUI.test.js | 14 ++++++ .../ui-react/src/__snapshots__/LoopUI.test.js.snap | 2 + gui-clamp/ui-react/src/index.test.js | 45 ++++++++++++++++++ gui-clamp/ui-react/src/utils/OnapUtils.test.js | 55 ++++++++++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 gui-clamp/ui-react/src/index.test.js create mode 100644 gui-clamp/ui-react/src/utils/OnapUtils.test.js (limited to 'gui-clamp/ui-react') diff --git a/gui-clamp/ui-react/src/LoopUI.test.js b/gui-clamp/ui-react/src/LoopUI.test.js index 47ade44..083b233 100644 --- a/gui-clamp/ui-react/src/LoopUI.test.js +++ b/gui-clamp/ui-react/src/LoopUI.test.js @@ -4,6 +4,7 @@ * ================================================================================ * Copyright (C) 2019 AT&T Intellectual Property. All rights * reserved. + * Modifications 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. @@ -29,6 +30,14 @@ import LoopCache from './api/LoopCache'; import LoopActionService from './api/LoopActionService'; import LoopService from './api/LoopService'; +import { ThemeConsumer } from 'styled-components' +import { GlobalClampStyle } from './theme/globalStyle.js'; +import { DefaultClampTheme } from './theme/globalStyle.js'; + +export const shallowWithTheme = (children, theme = DefaultClampTheme) => { + ThemeConsumer._currentValue = theme + return shallow(children) +} describe('Verify LoopUI', () => { beforeEach(() => { fetch.resetMocks(); @@ -170,4 +179,9 @@ describe('Verify LoopUI', () => { expect(component.state('showFailAlert')).toEqual(true); expect(component.state('showMessage')).toEqual("testAlert2"); }) + + test('Test renders correctly Clamp Style', () => { + let tree = shallowWithTheme(); + expect(tree).toMatchSnapshot(); + }) }); diff --git a/gui-clamp/ui-react/src/__snapshots__/LoopUI.test.js.snap b/gui-clamp/ui-react/src/__snapshots__/LoopUI.test.js.snap index c2a26fe..573a131 100644 --- a/gui-clamp/ui-react/src/__snapshots__/LoopUI.test.js.snap +++ b/gui-clamp/ui-react/src/__snapshots__/LoopUI.test.js.snap @@ -1,5 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Verify LoopUI Test renders correctly Clamp Style 1`] = `""`; + exports[`Verify LoopUI Test the render method 1`] = ` + + +); +jest.mock("react-dom", () => ({ render: jest.fn() })); + +describe("Application root", () => { + it("should render without crashing", () => { + const div = document.createElement("div"); + div.id = "root"; + document.body.appendChild(div); + require("./index.js"); + expect(ReactDOM.render).toHaveBeenCalledWith(routing, div); + }); +}); diff --git a/gui-clamp/ui-react/src/utils/OnapUtils.test.js b/gui-clamp/ui-react/src/utils/OnapUtils.test.js new file mode 100644 index 0000000..7db23fd --- /dev/null +++ b/gui-clamp/ui-react/src/utils/OnapUtils.test.js @@ -0,0 +1,55 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2022 Nordix Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END============================================ + * =================================================================== + * + */ + +import OnapUtils from './OnapUtils' + +describe('Onap Utils Error Formatting', () => { + + var error = { + message: "Please populate the required property Threshold", + path: "root.signatures.0", + property: "required" + }; + + var error2 = { + message: "Invalid data type Threshold", + }; + + var errorArray = [error, error2]; + it('Test array formatting', () => { + var utils = new OnapUtils(); + expect(utils.clickBlocked).toBeFalsy(); + var expectedResult = "Please populate the required property Threshold" + '\n' + +"Invalid data type Threshold"; + expect(OnapUtils.jsonEditorErrorFormatter(errorArray)).toEqual(expectedResult); + }); + + it('Test error not array formatting', () => { + let spy = {}; + spy.console = jest.spyOn(console, 'error').mockImplementation(() => {}); + OnapUtils.jsonEditorErrorFormatter(error); + expect(console.error).toHaveBeenCalled(); + expect(spy.console.mock.calls[0][0]).toContain('jsoneEditorErrorFormatter was passed a non-array argument'); + spy.console.mockRestore(); + }); +}); \ No newline at end of file -- cgit 1.2.3-korg