diff options
Diffstat (limited to 'gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexEventEditForm.test.js')
-rw-r--r-- | gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexEventEditForm.test.js | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexEventEditForm.test.js b/gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexEventEditForm.test.js new file mode 100644 index 0000000..48573e8 --- /dev/null +++ b/gui-editors/gui-editor-apex/src/main/webapp/js/__test__/ApexEventEditForm.test.js @@ -0,0 +1,193 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2020-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('../ApexEventEditForm'); +const eventTab_reset = require('../ApexEventTab'); +const apexUtils = require('../ApexUtils'); +const formUtils_generateDescription = require('../ApexFormUtils'); +const keyInformationTab_reset = require('../ApexKeyInformationTab'); + +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 +}; + +const contextSchema = { + name: 'testName', + version: '0.0.1', + schemaFlavour: 'testFlav', + schemaDefinition: 'testDef', + uuid: 'testUUID', + description: 'testDesc' +} + +const parentTBody = document.createElement('table'); + +test('Test Activate', () => { + const mock_activate = jest.fn(mod.editEventForm_activate); + mock_activate(null, 'CREATE', null, contextSchema); + expect(mock_activate).toBeCalled(); +}); + +test('Test Activate Edit', () => { + + const event = { + key: { + name: 'testName', + version: '0.0.1', + }, + nameSpace: 'test', + source: 'test', + target: 'test', + uuid: 'test', + description: 'test', + } + + const mock_activate = jest.fn(mod.editEventForm_activate); + mock_activate(null, 'EDIT', event, contextSchema); + expect(mock_activate).toBeCalled(); +}); + +test('Test Activate !=Create/Edit', () => { + + const event = { + key: { + name: 'testName', + version: '0.0.1', + }, + nameSpace: 'test', + source: 'test', + target: 'test', + uuid: 'test', + description: 'test', + } + + const mock_activate = jest.fn(mod.editEventForm_activate); + mock_activate(null, 'TEST', event, contextSchema); + expect(mock_activate).toBeCalled(); +}); + +test('Test Delete Event', () => { + 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(keyInformationTab_reset, 'keyInformationTab_reset').mockReturnValueOnce(null); + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + jest.spyOn(eventTab_reset, 'eventTab_reset').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editEventForm_deleteEvent); + mock_activate('parentTest', 'name', 'version'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Event Edit Form Inner', () => { + global.window.restRootURL = () => 'http://localhost' + const jqXHR = { status: 200, responseText: "" }; + $.ajax = jest.fn().mockImplementation((args) => { + args.success(data, null, jqXHR); + }); + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + jest.spyOn(apexUtils, 'apexUtils_emptyElement').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editEventForm_editEvent_inner); + mock_activate('parentTest', 'name', 'version', 'edit'); + expect(mock_activate).toBeCalled(); +}); + +test('Test View Event', () => { + const mock_activate = jest.fn(mod.editEventForm_viewEvent); + mock_activate('parentTest', 'name', 'version'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Edit Event', () => { + const mock_activate = jest.fn(mod.editEventForm_editEvent); + mock_activate('parentTest', 'name', 'version'); + expect(mock_activate).toBeCalled(); +}); + +test('Test Create Event', () => { + const jqXHR = { status: 200, responseText: "" }; + $.ajax = jest.fn().mockImplementation((args) => { + args.success(data, null, jqXHR); + }); + const mock_activate = jest.fn(mod.editEventForm_createEvent); + mock_activate('parentTest'); + expect(mock_activate).toBeCalled(); +}); + +test('Test editEventForm_addEventParam', () => { + let contextSchemas = new Array(); + contextSchemas.push(contextSchema); + const mock_activate = jest.fn(mod.editEventForm_addEventParam); + mock_activate(parentTBody, false, 'name', null, contextSchema, contextSchemas); + expect(mock_activate).toBeCalled(); +}); + +test('Test Edit Event Generate UUID Pressed', () => { + let documentSpy = jest.spyOn(document, 'getElementById'); + let elementMock = document.createElement("editContextSchemaFormDescriptionTextArea"); + documentSpy.mockReturnValue(elementMock); + const mock_activate = jest.fn(mod.editEventForm_generateUUIDPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); + +test('Test Edit Event Generate Description Pressed', () => { + jest.spyOn(formUtils_generateDescription, 'formUtils_generateDescription').mockReturnValueOnce(null); + let documentSpy = jest.spyOn(document, 'getElementById'); + let elementMock = document.createElement("editContextSchemaFormDescriptionTextArea"); + documentSpy.mockReturnValue(elementMock); + const mock_activate = jest.fn(mod.editEventForm_generateDescriptionPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); +test('Test editEventForm_cancelPressed', () => { + jest.spyOn(keyInformationTab_reset, 'keyInformationTab_reset').mockReturnValueOnce(null); + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + jest.spyOn(eventTab_reset, 'eventTab_reset').mockReturnValueOnce(null); + const mock_activate = jest.fn(mod.editEventForm_cancelPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); + +test('Test editTaskForm_submitPressed', () => { + jest.spyOn(keyInformationTab_reset, 'keyInformationTab_reset').mockReturnValueOnce(null); + jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null); + jest.spyOn(eventTab_reset, 'eventTab_reset').mockReturnValueOnce(null); + + let documentSpy = jest.spyOn(document, 'getElementById'); + let elementMock = document.createElement("editEventForm"); + elementMock.setAttribute("createEditOrView", "CREATE"); + elementMock.value = 'name_version' + elementMock.rows = 2 + documentSpy.mockReturnValue(elementMock); + + const mock_activate = jest.fn(mod.editEventForm_submitPressed); + mock_activate(); + expect(mock_activate).toBeCalled(); +}); |