diff options
author | 2022-03-08 09:25:43 +0000 | |
---|---|---|
committer | 2022-03-09 15:49:40 +0000 | |
commit | 360b7a3b57b7f26f023f979465de7f9d47cc15cb (patch) | |
tree | 9c673b2fc25a396e1b7458798dbe645d6e29c44f | |
parent | d6094b9b8932afcb58281b170dd16d6dab845878 (diff) |
Code coverage policy gui react
Issue-ID: POLICY-3351
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
Change-Id: I5329a7437be4702361940ef9e22f51413ed892d0
-rw-r--r-- | gui-clamp/ui-react/src/LoopUI.test.js | 14 | ||||
-rw-r--r-- | gui-clamp/ui-react/src/__snapshots__/LoopUI.test.js.snap | 2 | ||||
-rw-r--r-- | gui-clamp/ui-react/src/index.test.js | 45 | ||||
-rw-r--r-- | gui-clamp/ui-react/src/utils/OnapUtils.test.js | 55 |
4 files changed, 116 insertions, 0 deletions
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(<GlobalClampStyle />); + 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`] = ` <styled.div id="main_div" diff --git a/gui-clamp/ui-react/src/index.test.js b/gui-clamp/ui-react/src/index.test.js new file mode 100644 index 0000000..188a26e --- /dev/null +++ b/gui-clamp/ui-react/src/index.test.js @@ -0,0 +1,45 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2022 Nordix Foundation. 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 React from "react"; +import ReactDOM from "react-dom"; +import { Route, MemoryRouter } from 'react-router-dom' +import OnapClamp from './OnapClamp'; + + + +const routing = ( + <MemoryRouter forceRefresh={ false }> + <Route path="/" component={ OnapClamp }/> + </MemoryRouter> +); +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 |