summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlapentafd <francesco.lapenta@est.tech>2022-02-08 17:24:00 +0000
committerlapentafd <francesco.lapenta@est.tech>2022-02-09 19:01:33 +0000
commitaec9b7e131be827e770e0124dff6ebc765dc1f7f (patch)
tree54afb0fd5bb3f4437f3ec9e7871cc5df33bb3168
parent5ca5cc1e2607518d1fd2c05421a6e6b8c9cd12ea (diff)
Code coverage policy gui webapp
Issue-ID: POLICY-3351 Signed-off-by: lapentafd <francesco.lapenta@est.tech> Change-Id: I45f2a6542dedf82dcb76a94e51839aa772372909
-rw-r--r--gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/ApexMain.test.js61
-rw-r--r--gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/dropdownList.test.js68
2 files changed, 128 insertions, 1 deletions
diff --git a/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/ApexMain.test.js b/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/ApexMain.test.js
index beb73f5..b582b35 100644
--- a/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/ApexMain.test.js
+++ b/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/ApexMain.test.js
@@ -19,13 +19,73 @@
const mod = require('../ApexMain');
const $ = require('jquery');
+const apexPageControl = require('../ApexPageControl');
+const apexContextSchemaTab = require('../ApexContextSchemaTab');
+const apexEventTab = require('../ApexEventTab');
+const apexAlbumTab = require('../ApexContextAlbumTab');
+const apexTaskTab = require('../ApexTaskTab');
+const apexPolicyTab = require('../ApexPolicyTab');
+const keyInformationTab = require('../ApexKeyInformationTab');
+
+require('../jquery-ui-1.12.1/jquery-ui.js');
+
+const data = {
+ messages: {
+ message: [
+ '{' +
+ ' "apexArtifactKey": {' +
+ ' "key": {' +
+ ' "name": "name1",' +
+ ' "version": "version1"' +
+ ' }' +
+ ' }' +
+ '}'
+ ]
+ },
+ content: ['01', '02'],
+ result: 'ok',
+ ok: true
+};
+
+const jqXHR = { status: 200, responseText: "" };
test('Test main_getRestRootURL', () => {
+ document.documentElement.innerHTML = '<html><head></head><body>' +
+ '<div id="mainTabs"><ul><li><a href="#mainTabs1">Tab 1</a></li></ul></div>' +
+ '</body></html>';
+ $.ajax = jest.fn().mockImplementation((args) => {
+ args.success(data, null, jqXHR);
+ });
jest.spyOn(window.localStorage.__proto__, 'getItem');
window.localStorage.__proto__.getItem = jest.fn(() => true);
+ jest.spyOn(apexPageControl, 'pageControl_modelMode').mockReturnValueOnce(null);
+ jest.spyOn(apexContextSchemaTab, 'contextSchemaTab_activate').mockReturnValueOnce(null);
+ jest.spyOn(apexEventTab, 'eventTab_activate').mockReturnValueOnce(null);
+ jest.spyOn(apexAlbumTab, 'contextAlbumTab_activate').mockReturnValueOnce(null);
+ jest.spyOn(apexTaskTab, 'taskTab_activate').mockReturnValueOnce(null);
+ jest.spyOn(apexPolicyTab, 'policyTab_activate').mockReturnValueOnce(null);
+ jest.spyOn(keyInformationTab, 'keyInformationTab_activate').mockReturnValueOnce(null);
+ const mock_main_getRestRootURL = jest.fn(mod.main_getRestRootURL);
+ mock_main_getRestRootURL();
+ const expected = '<head></head><body>'+
+ '<div id="mainTabs" class="ui-tabs ui-corner-all ui-widget ui-widget-content"><ul role="tablist" class="ui-tabs-nav ui-corner-all ui-helper-reset ui-helper-clearfix ui-widget-header">' +
+ '<li role="tab" tabindex="0" class="ui-tabs-tab ui-corner-top ui-state-default ui-tab ui-tabs-active ui-state-active" aria-controls="mainTabs1" aria-labelledby="ui-id-1" aria-selected="true" aria-expanded="true">' +
+ '<a href="#mainTabs1" role="presentation" tabindex="-1" class="ui-tabs-anchor" id="ui-id-1">Tab 1</a></li></ul></div></body>'
+ expect(mock_main_getRestRootURL).toBeCalled();
+ expect(document.documentElement.innerHTML).toEqual(expected);
+});
+
+test('Test main_getRestRootURL false', () => {
+ document.documentElement.innerHTML = '<html><head></head><body><div class="ebInlineMessage-description" id="statusMessageTable"></div></body></html>';
+ $.ajax = jest.fn().mockImplementation((args) => {
+ args.success(data, null, jqXHR);
+ });
+ jest.spyOn(window.localStorage.__proto__, 'getItem');
+ window.localStorage.__proto__.getItem = jest.fn(() => false);
const mock_main_getRestRootURL = jest.fn(mod.main_getRestRootURL);
mock_main_getRestRootURL();
expect(mock_main_getRestRootURL).toBeCalled();
+ expect(document.documentElement.innerHTML).toEqual('<head></head><body><div class="ebInlineMessage-description" id="statusMessageTable"><tr><td> REST root URL set to: http://localhost/apexservices/editor/false</td></tr></div></body>');
});
test('Test clearLocalStorage', () => {
@@ -39,6 +99,5 @@ test('test ready', () => {
window.$ = $;
$("#menu li").click();
let h1 = document.querySelector('ul');
- console.log(document.documentElement.innerHTML);
expect(h1.textContent).toEqual('menuFileNew');
}); \ No newline at end of file
diff --git a/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/dropdownList.test.js b/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/dropdownList.test.js
new file mode 100644
index 0000000..1c314af
--- /dev/null
+++ b/gui-editors/gui-editor-apex/src/main/resources/webapp/js/__test__/dropdownList.test.js
@@ -0,0 +1,68 @@
+/*
+ * ============LICENSE_START=======================================================
+ * 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.
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+const mod = require('../dropdownList');
+
+let selectedOption = {
+ displaytext : 'displaytext'
+};
+
+const page = '<html><head></head><body>' +
+'<div id="divName_display"><ul><li><a href="divName">Delete this</a><li>Second</li></li></ul></div>' +
+'<div id="divName"><ul><li><a href="divName">Just a Div</a><li>Second</li></li></ul></div>' +
+'<div id="divName_options"><ul><li><a href="dropdownList_show">Show</a><li>Second</li></li></ul></div>' +
+'</body></html>';
+
+test('test dropdownList option select', () => {
+ document.documentElement.innerHTML = page;
+ mod.dropdownList_option_select('divName',selectedOption, false);
+ let expected = '<head></head><body>' +
+ '<div id="divName_display">displaytext</div>' +
+ '<div id="divName"><ul><li><a href="divName">Just a Div</a></li><li>Second</li></ul></div>' +
+ '<div id="divName_options"><ul><li><a href="dropdownList_show">Show</a></li><li>Second</li></ul></div>' +
+ '</body>';
+ expect(document.documentElement.innerHTML).toBe(expected);
+});
+
+test('test dropdownList display click', () => {
+ document.documentElement.innerHTML = page;
+ mod.dropdownList_display_click('divName',selectedOption, false, false);
+ const expected = '<head></head><body>' +
+ '<div id=\"divName_display\"><ul><li><a href=\"divName\">Delete this</a></li><li>Second</li></ul></div>' +
+ '<div id=\"divName\"><ul><li><a href=\"divName\">Just a Div</a></li><li>Second</li></ul></div>' +
+ '<div id=\"divName_options\" class=\"dropdownList_show dropdownList_display_clicked\"><ul><li><a href=\"dropdownList_show\">Show</a></li><li>Second</li></ul></div></body>';
+ expect(document.documentElement.innerHTML).toBe(expected);
+ mod.dropdownList_display_click('divName',selectedOption, true, false);
+});
+
+test('test dropdownList filter', () => {
+ document.documentElement.innerHTML = '<html><head></head><body>' +
+ '<p id="optionDiv_search">tosearch</p>' +
+ '<div id="optionDiv_options_list_ul"><div id="#divName"><li>test</li></div></div>' +
+ '</body></html>';
+ let documentSpy = jest.spyOn(document, 'getElementById');
+ let elementMock = document.createElement("optionDiv_search");
+ elementMock.value = '1'
+ elementMock.id = 'divName'
+ documentSpy.mockReturnValue(elementMock);
+ mod.dropdownList_filter('optionDiv','optionUl');
+ const expected = '<head></head><body><p id=\"optionDiv_search\">tosearch</p><div id=\"optionDiv_options_list_ul\"><div id=\"#divName\"><li>test</li></div></div></body>';
+ expect(document.documentElement.innerHTML).toBe(expected);
+}); \ No newline at end of file