Code coverage policy gui react

Issue-ID: POLICY-3351
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
Change-Id: I5329a7437be4702361940ef9e22f51413ed892d0
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 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 @@
     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