From 770049ea162573d5afa1aaefed6131fe5e0a77f7 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Tue, 15 Feb 2022 18:02:23 +0000 Subject: Refactor apex-editor frontend build Moved frontend from src/main/resources/webapp to src/main/webapp Moved static resources such as jquery-ui to webapp/dist folder Configured jest to exclude webapp/dist from coverage report Removed unused ZIP file assembly Cleaned up POM Issue-ID: POLICY-3896 Signed-off-by: danielhanrahan Change-Id: Ia006eb94a39586219029866eef94aef38912ad65 --- .../webapp/js/__test__/ApexPolicyEditForm.test.js | 174 +++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexPolicyEditForm.test.js (limited to 'gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexPolicyEditForm.test.js') diff --git a/gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexPolicyEditForm.test.js b/gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexPolicyEditForm.test.js new file mode 100644 index 0000000..b3153a9 --- /dev/null +++ b/gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexPolicyEditForm.test.js @@ -0,0 +1,174 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2020-2021 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 apexUtils = require('../ApexUtils'); +const apexPageControl = require('../ApexPageControl'); +const apexPolicyTab = require('../ApexPolicyTab'); +const keyInformationTab_reset = require('../ApexKeyInformationTab'); +const mod = require('../ApexPolicyEditForm'); +const policy = { + policyKey: { + name: 'testName', + version: 'testVersion', + uuid: 'testUUID' + }, + uuid: 'testUUID' +} +let data = { + messages: { + message: [ + '{"apexContextSchema": {"key":{"name": "name1", "version": "version1"}}, "apexTask":{"key":{"name": "name1", "version": "version1"}},' + + '"apexContextAlbum":{"key":{"name": "name1", "version": "version1"}},"apexEvent":{"key":{"name": "name1", "version": "version1"}},' + + '"apexPolicy":{"policyKey":{"name": "name1", "version": "version1"}}, "apexKeyInfo":{"key":{"name": "name1", "version": "version1"}}}' + ] + }, + ok: true +}; + +test('Test Create Policy', () => { + const mock_activate = jest.fn(mod.editPolicyForm_createPolicy); + mock_activate('test'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Delete Policy', () => { + global.confirm = () => true + global.window.restRootURL = () => 'http://localhost' + const jqXHR = { status: 200, responseText: "" }; + $.ajax = jest.fn().mockImplementation((args) => { + args.success(data, null, jqXHR); + }); + jest.spyOn(apexPageControl, 'pageControl_successStatus').mockReturnValueOnce(policy); + jest.spyOn(apexPolicyTab, 'policyTab_reset').mockReturnValueOnce(null); + jest.spyOn(keyInformationTab_reset, 'keyInformationTab_reset').mockReturnValueOnce(null); + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editPolicyForm_deletePolicy); + mock_activate('test', policy.policyKey.name, policy.policyKey.version); + expect(mock_activate).toBeCalled(); +}); + +test('Test View Policy', () => { + const jqXHR = { status: 200, responseText: "" }; + $.ajax = jest.fn().mockImplementation((args) => { + args.success(data, null, jqXHR); + }); + jest.spyOn(apexPageControl, 'pageControl_successStatus').mockReturnValueOnce(policy); + const mock_activate = jest.fn(mod.editPolicyForm_viewPolicy); + mock_activate('test', policy.policyKey.name, policy.policyKey.version); + expect(mock_activate).toBeCalled(); +}); + +test('Test Edit Policy', () => { + const jqXHR = { status: 200, responseText: "" }; + $.ajax = jest.fn().mockImplementation((args) => { + args.success(data, null, jqXHR); + }); + const mock_activate = jest.fn(mod.editPolicyForm_editPolicy); + mock_activate('test', policy.policyKey.name, policy.policyKey.version); + expect(mock_activate).toBeCalled(); +}); + +test('Test Edit Policy Inner', () => { + const jqXHR = { status: 200, responseText: "" }; + $.ajax = jest.fn().mockImplementation((args) => { + args.success(data, null, jqXHR); + }); + jest.spyOn(apexPageControl, 'pageControl_successStatus').mockReturnValueOnce(policy); + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editPolicyForm_editPolicy_inner); + mock_activate('test', policy, 'view'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Add New State Policy', () => { + let documentSpy = jest.spyOn(document, 'getElementById'); + let elementMock = document.createElement("editEventFormNewStateInput"); + elementMock.value = 'one' + documentSpy.mockReturnValue(elementMock); + const mock_activate = jest.fn(mod.editPolicyForm_addNewState); + const node = document.body.parentNode; + mock_activate(node, 'New State', policy, 'tasks', 'events', 'contextS', 'contextI'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Add State Policy', () => { + const mock_activate = jest.fn(mod.editPolicyForm_addState); + mock_activate('state','test', 'CREATE', policy, 'tasks', 'events', 'contextS', 'contextI'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Generate Description', () => { + const mock_activate = jest.fn(mod.editPolicyForm_generateDescriptionPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); + +test('Test Submit Pressed', () => { + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + jest.spyOn(apexPolicyTab, 'policyTab_reset').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editPolicyForm_submitPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); + +test('Test Submit Pressed When createEditOrView is CREATE', () => { + let documentSpy = jest.spyOn(document, 'getElementById'); + let editPolicyFormElementMock = document.createElement("editPolicyForm"); + editPolicyFormElementMock.setAttribute("createEditOrView", "CREATE") + documentSpy.mockReturnValue(editPolicyFormElementMock) + const mock_activate = jest.fn(mod.editPolicyForm_submitPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); + +test('Test Update Trigger Event', () => { + const mock_activate = jest.fn(mod.editPolicyForm_updateTriggerEventOptions); + mock_activate('events'); + expect(mock_activate).toBeCalled(); +}); + +test('Test activate CREATE', () => { + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editPolicyForm_activate); + + mock_activate('test', 'CREATE', policy, 'tasks', 'events', 'contextS', 'contextI'); + expect(mock_activate).toBeCalled(); +}); + +test('Test activate EDIT', () => { + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editPolicyForm_activate); + + mock_activate('test', 'EDIT', policy, 'tasks', 'events', 'contextS', 'contextI'); + expect(mock_activate).toBeCalled(); +}); + +test('Test activate !CREATE/EDIT', () => { + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editPolicyForm_activate); + + mock_activate('test', 'TEST', policy, 'tasks', 'events', 'contextS', 'contextI'); + expect(mock_activate).toBeCalled(); +}); + +test('Test editPolicyForm_editPolicy_inner', () => { + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + const mock_editPolicyForm_editPolicy_inner = jest.fn(mod.editPolicyForm_editPolicy_inner); + mock_editPolicyForm_editPolicy_inner('formParent', policy, 'VIEW'); + expect(mock_editPolicyForm_editPolicy_inner).toBeCalled(); +}) \ No newline at end of file -- cgit 1.2.3-korg