Code coverage policy gui Policy Edit Form

Issue-ID: POLICY-3351
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
Change-Id: I682f046955b06bc7738987b8998ecd4cdb287276
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
index b3153a9..24af346 100644
--- 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
@@ -1,6 +1,6 @@
 /*
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2020-2021 Nordix Foundation
+ *  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.
@@ -142,6 +142,35 @@
     expect(mock_activate).toBeCalled();
 });
 
+test('Test Update Trigger Event with firststate', () => {
+    document.documentElement.innerHTML = '<html><head></head><body>' +
+    '<div id="editEventFormSelectFirstState_dropdownList"></div>' +
+    '</body></html>';
+    let documentSpy = jest.spyOn(document, 'getElementById');
+    let elementMock = document.getElementById("editEventFormSelectFirstState_dropdownList");
+    elementMock.setAttribute("createEditOrView", "CREATE")
+    elementMock.setAttribute("disabled", "false")
+    elementMock.selectedOption = {"name": "name1", "version": "version1", "displaytext": "PeriodicEvent"};
+    documentSpy.mockReturnValue(elementMock);
+    const mock_activate = jest.fn(mod.editPolicyForm_updateTriggerEventOptions);
+    mock_activate('events');
+    expect(mock_activate).toBeCalled();
+});
+
+test('Test editPolicyForm_getNextStateOptions', () => {
+    document.documentElement.innerHTML = '<html><head></head><body>' +
+    '<div id="editEventFormStates"><div id="#editEventFormStates"><li stateName="state" value="v1">a1</li><li stateName="state" value="v2">a2</li></div></div>' +
+    '</body></html>';
+    let documentSpy = jest.spyOn(document, 'getElementById');
+    let elementMock = document.getElementById("editEventFormStates");
+    elementMock.value = 'notNullValue';
+    elementMock.setAttribute("stateName", "state");
+    documentSpy.mockReturnValue(elementMock);
+    let options = mod.editPolicyForm_getNextStateOptions();
+    let expected = [{"name" : "NULL", "displaytext" : "None"}];
+    expect(options).toStrictEqual(expected);
+});
+
 test('Test activate CREATE', () => {
     jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null);
     const mock_activate = jest.fn(mod.editPolicyForm_activate);
@@ -171,4 +200,66 @@
     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
+});
+
+test('Test editPolicyForm_submitPressed CREATE with page', () => {
+    const jqXHR = { status: 200, responseText: "" };
+    $.ajax = jest.fn().mockImplementation((args) => {
+        args.success(data, null, jqXHR);
+    });
+    jest.spyOn(apexPolicyTab, 'policyTab_reset').mockReturnValueOnce(null);
+    jest.spyOn(keyInformationTab_reset, 'keyInformationTab_reset').mockReturnValueOnce(null);
+    jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null);
+    document.documentElement.innerHTML = '<html><head></head><body>' +
+    '<div id="editEventFormStates"><div id="#editEventFormStates"><li stateName="state" value="v1">a1</li><li stateName="state" value="v2">a2</li></div></div>' +
+    '</body></html>';
+    let documentSpy = jest.spyOn(document, 'getElementById');
+    let elementMock = document.getElementById("#editEventFormStates");
+    elementMock.value = 'notNullValue';
+    elementMock.setAttribute("stateName", "state");
+    elementMock.selectedOption = {"name": "name1", "version": "version1"};
+    elementMock.setAttribute("createEditOrView", "CREATE")
+    documentSpy.mockReturnValue(elementMock);
+    const mock_activate = jest.fn(mod.editPolicyForm_submitPressed);
+    mock_activate();
+    expect(mock_activate).toBeCalled();
+});
+
+test('Test editPolicyForm_submitPressed EDIT with page', () => {
+    const jqXHR = { status: 200, responseText: "" };
+    $.ajax = jest.fn().mockImplementation((args) => {
+        args.success(data, null, jqXHR);
+    });
+    jest.spyOn(apexPolicyTab, 'policyTab_reset').mockReturnValueOnce(null);
+    jest.spyOn(keyInformationTab_reset, 'keyInformationTab_reset').mockReturnValueOnce(null);
+    jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null);
+    document.documentElement.innerHTML = '<html><head></head><body>' +
+    '<div id="editEventFormStates"><div id="#editEventFormStates"><li stateName="state" value="v1">a1</li><li stateName="state" value="v2">a2</li></div></div>' +
+    '</body></html>';
+    let documentSpy = jest.spyOn(document, 'getElementById');
+    let elementMock = document.getElementById("#editEventFormStates");
+    elementMock.value = 'notNullValue';
+    elementMock.setAttribute("stateName", "state");
+    elementMock.selectedOption = {"name": "name1", "version": "version1"};
+    elementMock.setAttribute("createEditOrView", "EDIT")
+    documentSpy.mockReturnValue(elementMock);
+    const mock_activate = jest.fn(mod.editPolicyForm_submitPressed);
+    mock_activate();
+    expect(mock_activate).toBeCalled();
+});
+
+test('Test editPolicyForm_cancelPressed', () => {
+    jest.spyOn(apexPolicyTab, 'policyTab_reset').mockReturnValueOnce(null);
+    jest.spyOn(apexUtils, 'apexUtils_removeElement').mockReturnValueOnce(null);
+    const mock_activate = jest.fn(mod.editPolicyForm_cancelPressed);
+    mock_activate();
+    expect(mock_activate).toBeCalled();
+});
+
+test('Test editPolicyForm_generateUUIDPressed', () => {
+    document.documentElement.innerHTML = '<html><head></head><body>' +
+    '<div id="editPolicyFormUuidInput">test</div>' +
+    '</body></html>';
+    mod.editPolicyForm_generateUUIDPressed();
+    expect(document.getElementById("editPolicyFormUuidInput").value).not.toBeNull();
+});