diff options
Diffstat (limited to 'gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js')
-rw-r--r-- | gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js | 120 |
1 files changed, 105 insertions, 15 deletions
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js index 45fae79..35eb297 100644 --- a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js +++ b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js @@ -1,19 +1,109 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 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========================================================= + */ + import $ from 'jquery'; -import { ajax_get, ajax_get_statistics } from "../MonitoringUtils"; - -$.ajax = jest.fn().mockImplementation(() => { - const fakeResponse = { - data: { - id: 1, - name: "All", - value: "Dummy Data" +import * as sut from "../MonitoringUtils"; +import * as PdpInformation from "../PdpInformation"; +import * as PdpStatisticsSummary from "../PdpStatisticsSummary"; +import * as PdpListView from '../PdpListView'; + +const requestURL = "http://localhost:7979"; + +const serviceData = { + useHttps: "http", + hostname: "localhost", + port: 7979, + username: "username", + password: "password", +}; + +test('ajax_get ok', () => { + const callback = jest.fn(); + $.ajax = jest.fn().mockImplementation((args) => { args.success(); }); + sut.ajax_get(requestURL, callback, serviceData.useHttps, serviceData.hostname, serviceData.port, + serviceData.username, serviceData.password, {}, null); + expect(callback).toHaveBeenCalled(); +}); + +test('ajax_get error', () => { + const errorCallback = jest.fn(); + const jqXHR = { status: 500, responseText: "" }; + $.ajax = jest.fn().mockImplementation( + args => { + args.error(jqXHR, null, null); } - }; - return Promise.resolve(fakeResponse); + ); + sut.ajax_get(requestURL, null, serviceData.useHttps, serviceData.hostname, serviceData.port, + serviceData.username, serviceData.password, {}, errorCallback); + expect(errorCallback).toHaveBeenCalled(); }); -test('ajax_get return ok', () => { - ajax_get().then(response => { - expect(response.data.id).toBe(1); - }); -});
\ No newline at end of file +test('ajax_get_statistics ok', () => { + const callback = jest.fn(); + $.ajax = jest.fn().mockImplementation((args) => { args.success(); }); + sut.ajax_get_statistics(requestURL, callback, serviceData.useHttps, serviceData.hostname, serviceData.port, + serviceData.username, serviceData.password, "", {}, null); + expect(callback).toHaveBeenCalled(); +}); + +test('ajax_get_statistics error', () => { + const errorCallback = jest.fn(); + const jqXHR = { status: 500, responseText: "" }; + $.ajax = jest.fn().mockImplementation( + args => { + args.error(jqXHR, null, null); + } + ); + PdpInformation.createEngineServiceTable = jest.fn(); + PdpStatisticsSummary.createEngineSummaryTable = jest.fn(); + sut.ajax_get_statistics(requestURL, null, serviceData.useHttps, serviceData.hostname, serviceData.port, + serviceData.username, serviceData.password, "", {}, errorCallback); + + expect(errorCallback).toHaveBeenCalled(); + expect(PdpInformation.createEngineServiceTable).toHaveBeenCalled(); + expect(PdpStatisticsSummary.createEngineSummaryTable).toHaveBeenCalled(); +}); + +test('getEngineURL popup dialog', () => { + window.localStorage.clear(); + sut.getEngineURL("message"); + $('#submit').click(); + expect($("papDialogDiv")).toHaveLength(1); +}); + +test('getEngineURL read from localStorage', () => { + window.localStorage.setItem("pap-monitor-services", JSON.stringify(serviceData)); + const data = { + groups: [{ + pdpSubgroups: [{ + pdpType: "apex", + pdpInstances: [{ + instanceId: "apex-pdp1", + }], + }] + } + ], + }; + + $.ajax = jest.fn().mockImplementation((args) => { args.success(data); }); + PdpListView.RenderPdpList = jest.fn(); + sut.getEngineURL("message"); + expect(PdpListView.RenderPdpList.mock.calls[0][0]).toHaveLength(1); +}); |