blob: 064a32312c6a72f78cdb4d88566706146d3082a9 [file] [log] [blame]
/*
* 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);
})
});
})