/* * Copyright © 2019 Vodafone Group * * 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. */ import deepFreeze from 'deep-freeze'; import mockRest from 'test-utils/MockRest.js'; import { cloneAndSet } from 'test-utils/Util.js'; import { storeCreator } from 'sdc-app/AppStore.js'; import SoftwareProductValidationResultsViewActionHelper from 'sdc-app/onboarding/softwareProduct/validationResults/SoftwareProductValidationResultsViewActionHelper.js'; import { tabsMapping } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidationConstants.js'; import Configuration from 'sdc-app/config/Configuration.js'; import { VSPTestResultsSuccessFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationResultsFactory.js'; import { VSPTestResultsFailureFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationResultsFactory.js'; import { VSPTestResultKeysFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationResultsFactory.js'; import { VSPTestsMapFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js'; import { VSPChecksFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js'; import { VSPTestsRequestFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js'; import { VSPGeneralInfoFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js'; import VersionFactory from 'test-utils/factories/common/VersionFactory.js'; describe('Software Product Validation Test Result Action Helper Tests', function() { const store = storeCreator(); deepFreeze(store.getState()); const version = VersionFactory.build(); const vspId = 10000; const vspChecksList = VSPChecksFactory.build(); const vspTestsMap = VSPTestsMapFactory.build(); const errorMessage = { msg: 'Test Error Message' }; const testsRequest = VSPTestsRequestFactory.build(); const generalInfo = VSPGeneralInfoFactory.build(); const isValidationDisabled = false; const testResultKeys = VSPTestResultKeysFactory.build(); const vspTestResults = VSPTestResultsSuccessFactory.build(); const requestQuery = "requestId="+testResultKeys.testResultKeys.requestId + "&" + "endPoint=" + testResultKeys.testResultKeys.endPoints[0]; let restPrefix = Configuration.get('restPrefix'); let onClose = () => {}; const modal = { type: 'error', title: 'Error', modalComponentName: 'Error', modalComponentProps: { onClose: onClose }, msg: { msg: 'Test Error Message' }, cancelButtonText: 'OK' }; it('Software Products Validation Test Result Action Helper : fetch vsp', () => { let expectedStore = cloneAndSet( store.getState(), 'softwareProduct.softwareProductValidationResult.vspChecks', vspChecksList ); mockRest.addHandler('fetch', ({ baseUrl }) => { expect(baseUrl).toEqual( `${restPrefix}/v1.0/externaltesting/testcasetree` ); return vspChecksList; }); return SoftwareProductValidationResultsViewActionHelper.fetchVspChecks( store.dispatch ).then(() => { var stat = store.getState(); expect(stat).toEqual(expectedStore); }) }); it('Software Products Validation Test Result Action Helper : RefreshValidationResults', () => { let expectedStore = cloneAndSet( store.getState(), 'softwareProduct.softwareProductValidationResult.vspTestResults', vspTestResults.vspTestResults ); mockRest.addHandler('fetch', ({ baseUrl }) => { expect(baseUrl).toEqual( `${restPrefix}/v1.0/externaltesting/executions?${requestQuery}` ); return vspTestResults.vspTestResults; }); return SoftwareProductValidationResultsViewActionHelper.refreshValidationResults( store.dispatch, { requestId: testResultKeys.testResultKeys.requestId, endPoints: testResultKeys.testResultKeys.endPoints } ).then(() => { var stt = store.getState(); expect(stt).toEqual(expectedStore); }) }); })