aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlapentafd <francesco.lapenta@est.tech>2022-03-08 09:25:43 +0000
committerlapentafd <francesco.lapenta@est.tech>2022-03-09 15:49:40 +0000
commit360b7a3b57b7f26f023f979465de7f9d47cc15cb (patch)
tree9c673b2fc25a396e1b7458798dbe645d6e29c44f
parentd6094b9b8932afcb58281b170dd16d6dab845878 (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.js14
-rw-r--r--gui-clamp/ui-react/src/__snapshots__/LoopUI.test.js.snap2
-rw-r--r--gui-clamp/ui-react/src/index.test.js45
-rw-r--r--gui-clamp/ui-react/src/utils/OnapUtils.test.js55
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