VSP Compliance Check for Compute Flavor
Change-Id: I04768a20413393026606a3f5b200e959e37c1410
Issue-ID: SDC-2051
Co-authored-by: rahul.ghugikar@vodafone.com, soumyarup.paul@vodafone.com
Signed-off-by: Vodafone <onap@vodafone.com>
diff --git a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js
index ee6ba90..0a8f640 100644
--- a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js
+++ b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js
@@ -26,83 +26,193 @@
import { VSPCertificationCheckedFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { VSPChecksFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { VSPTestsMapFactory } 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 { VSPTestResultsSuccessFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationResultsFactory.js';
+import { mapActionsToProps } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidation.js';
describe('Software Product Validation Action Helper Tests', function() {
- it('Software Products Validation Action Helper : Dsspatch', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
+ const store = storeCreator();
+ deepFreeze(store.getState());
- const vspChecksList = VSPChecksFactory.build();
- const vspTestsMap = VSPTestsMapFactory.build();
- const certificationChecked = VSPCertificationCheckedFactory.build();
- const complianceChecked = VSPComplianceCheckedFactory.build();
- const activeTab = { activeTab: tabsMapping.INPUTS };
- const errorMessage = { msg: 'Test Error Message' };
+ const vspChecksList = VSPChecksFactory.build();
+ const vspTestsMap = VSPTestsMapFactory.build();
+ const certificationChecked = VSPCertificationCheckedFactory.build();
+ const complianceChecked = VSPComplianceCheckedFactory.build();
+ const activeTab = { activeTab: tabsMapping.INPUTS };
+ const errorMessage = { msg: 'Test Error Message' };
+ const testsRequest = VSPTestsRequestFactory.build();
+ const generalInfo = VSPGeneralInfoFactory.build();
+ const isValidationDisabled = false;
+ const vspTestResults = VSPTestResultsSuccessFactory.build();
+ let restPrefix = Configuration.get('restPrefix');
+ let onClose = () => {};
- deepFreeze(vspChecksList);
- deepFreeze(vspTestsMap);
- deepFreeze(certificationChecked);
- deepFreeze(complianceChecked);
- deepFreeze(activeTab);
+ const modal = {
+ type: 'error',
+ title: 'Error',
+ modalComponentName: 'Error',
+ modalComponentProps: {
+ onClose: onClose
+ },
+ msg: {
+ msg: 'Test Error Message'
+ },
+ cancelButtonText: 'OK'
+ };
+ // deepFreeze(vspTestsMap.vspTestsMap);
+ // deepFreeze(certificationChecked.certificationChecked);
+ // deepFreeze(complianceChecked.complianceChecked);
+ // deepFreeze(activeTab);
+ // deepFreeze(testsRequest);
+ // deepFreeze(generalInfo.generalInfo);
+ // deepFreeze(isVspValidationDisabled);
+ it('Software Products Validation Action Helper : fetch vsp', () => {
let expectedStore = cloneAndSet(
store.getState(),
'softwareProduct.softwareProductValidation.vspChecks',
vspChecksList
);
- expectedStore = cloneAndSet(
- store.getState(),
- 'softwareProduct.softwareProductValidation.vspTestsMap',
- vspTestsMap
- );
- expectedStore = cloneAndSet(
- store.getState(),
- 'softwareProduct.softwareProductValidation.certificationChecked',
- certificationChecked
- );
- expectedStore = cloneAndSet(
- store.getState(),
- 'softwareProduct.softwareProductValidation.complianceChecked',
- complianceChecked
- );
- expectedStore = cloneAndSet(
- store.getState(),
- 'softwareProduct.softwareProductValidation.activeTab',
- activeTab
- );
- let restPrefix = Configuration.get('restPrefix');
-
- mockRest.addHandler('fetch', ({ options, data, baseUrl }) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/externaltesting`);
- expect(data).toEqual(undefined);
- expect(options).toEqual(undefined);
- return { vspChecks: vspChecksList };
+ mockRest.addHandler('fetch', ({ baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/externaltesting/testcasetree`
+ );
+ return vspChecksList;
});
-
- SoftwareProductValidationActionHelper.setVspTestsMap(store.dispatch, {
- vspTestsMap
- });
- SoftwareProductValidationActionHelper.setComplianceChecked(
- store.dispatch,
- { complianceChecked }
- );
- SoftwareProductValidationActionHelper.setCertificationChecked(
- store.dispatch,
- { certificationChecked }
- );
-
- SoftwareProductValidationActionHelper.setActiveTab(store.dispatch, {
- activeTab
- });
-
- SoftwareProductValidationActionHelper.onErrorThrown(store.dispatch, {
- errorMessage
- });
-
- SoftwareProductValidationActionHelper.fetchVspChecks(store.dispatch)
+ return SoftwareProductValidationActionHelper.fetchVspChecks(
+ store.dispatch
+ )
.then(() => {
expect(store.getState()).toEqual(expectedStore);
})
- .catch(() => {});
+ .catch(() => {
+ console.log('Fetch VSP returned Error');
+ });
+ });
+
+ // it('Software Products Validation Action Helper : post test', () => {
+ // mockRest.addHandler('post', ({ options, data, baseUrl }) => {
+ // expect(baseUrl).toEqual(
+ // `${restPrefix}/v1.0/externaltesting/executions`
+ // );
+ // //expect(data).toEqual(testsRequest);
+ // expect(options).toEqual(undefined);
+ // return { vspTestResults: vspTestResults };
+ // });
+ // const version = {
+ // id: 12345,
+ // name: 1
+ // };
+ // const softwareProductId = '1234';
+ // const status = 'draft';
+ // mapActionsToProps(store.dispatch).onTestSubmit(
+ // softwareProductId,
+ // version,
+ // status,
+ // testsRequest
+ // );
+ // });
+
+ it('Software Products Validation Action Helper : setCertificationChecked', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.certificationChecked',
+ certificationChecked.certificationChecked
+ );
+ mapActionsToProps(store.dispatch).setCertificationChecked({
+ checked: certificationChecked.certificationChecked
+ });
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Software Products Validation Action Helper : onErrorThrown', () => {
+ let expectedStore = cloneAndSet(store.getState(), 'modal', modal);
+ mapActionsToProps(store.dispatch).onErrorThrown(errorMessage);
+ expect(JSON.stringify(store.getState())).toEqual(
+ JSON.stringify(expectedStore)
+ );
+ });
+
+ it('Software Products Validation Action Helper : setComplianceChecked', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.complianceChecked',
+ complianceChecked.complianceChecked
+ );
+ mapActionsToProps(store.dispatch).setComplianceChecked({
+ checked: complianceChecked.complianceChecked
+ });
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Software Products Validation Action Helper : setActiveTab', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.activeTab',
+ activeTab.activeTab
+ );
+ mapActionsToProps(store.dispatch).setActiveTab(activeTab);
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Software Products Validation Action Helper : setGeneralInfo', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.generalInfo',
+ generalInfo.generalInfo
+ );
+ mapActionsToProps(store.dispatch).setGeneralInfo(
+ generalInfo.generalInfo
+ );
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Software Products Validation Action Helper : setIsVspValidationDisabled', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.isValidationDisabled',
+ isValidationDisabled
+ );
+ SoftwareProductValidationActionHelper.setIsVspValidationDisabled(
+ store.dispatch,
+ {
+ isValidationDisabled
+ }
+ );
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Software Products Validation Action Helper : setTestsRequest', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.testsRequest',
+ testsRequest.testsRequest
+ );
+ expectedStore = cloneAndSet(
+ expectedStore,
+ 'softwareProduct.softwareProductValidation.generalInfo',
+ generalInfo.generalInfo
+ );
+
+ mapActionsToProps(store.dispatch).setTestsRequest(
+ testsRequest.testsRequest,
+ generalInfo.generalInfo
+ );
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Software Products Validation Action Helper : setVspTestsMap', () => {
+ let expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductValidation.vspTestsMap',
+ vspTestsMap.vspTestsMap
+ );
+ SoftwareProductValidationActionHelper.setVspTestsMap(
+ store.dispatch,
+ vspTestsMap.vspTestsMap
+ );
+
+ expect(store.getState()).toEqual(expectedStore);
});
});
diff --git a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js
index aa00a5d..68a8cdd 100644
--- a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js
+++ b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js
@@ -19,6 +19,7 @@
import VspValidationInputsView from 'sdc-app/onboarding/softwareProduct/validation/inputs/VspValidationInputsView.jsx';
import TestUtils from 'react-dom/test-utils';
+import { storeCreator } from 'sdc-app/AppStore.js';
import { VSPComplianceCheckedFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { VSPCertificationCheckedFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
@@ -26,6 +27,7 @@
import { VSPTestsMapFactory } 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 { mapActionsToProps } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidation.js';
describe('SoftwareProductValidation Mapper and View Classes', () => {
it('mapStateToProps mapper exists', () => {
@@ -76,22 +78,39 @@
const status = 'draft';
var obj = {
- version: version,
- softwareProductId: softwareProductId,
- status: status,
- softwareProductValidation: {
- complianceChecked: complianceChecked.complianceChecked,
- certificationChecked: certificationChecked.certificationChecked,
- vspTestsMap: vspTestsMap.vspTestsMap,
- vspChecks: vspChecksList,
- testsRequest: testsRequest.testsRequest,
- generalInfo: generalInfo.generalInfo
+ softwareProduct: {
+ version: version,
+ softwareProductId: softwareProductId,
+ status: status,
+ softwareProductValidation: {
+ complianceChecked: complianceChecked.complianceChecked,
+ certificationChecked:
+ certificationChecked.certificationChecked,
+ vspTestsMap: vspTestsMap.vspTestsMap,
+ vspChecks: vspChecksList,
+ testsRequest: testsRequest.testsRequest,
+ generalInfo: generalInfo.generalInfo
+ }
}
};
+ const store = storeCreator();
+ let dispatch = store.dispatch;
+ let props = Object.assign(
+ {},
+ mapStateToProps(obj),
+ mapActionsToProps(dispatch)
+ );
let vspValidationInputView = TestUtils.renderIntoDocument(
- <VspValidationInputsView {...obj} />
+ <VspValidationInputsView {...props} />
);
expect(vspValidationInputView).toBeTruthy();
+
+ let inputForm = TestUtils.findRenderedDOMComponentWithTag(
+ vspValidationInputView,
+ 'form'
+ );
+ expect(inputForm).toBeTruthy();
+ TestUtils.Simulate.submit(inputForm);
});
});
diff --git a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js
index 640f9f6..be84f15 100644
--- a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js
+++ b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js
@@ -24,10 +24,11 @@
import { VSPComplianceCheckedFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { VSPCertificationCheckedFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { VSPChecksFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
+import { VSPGeneralInfoFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { VSPTestsMapFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
import { tabsMapping } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidationConstants.js';
import TestUtils from 'react-dom/test-utils';
-//import { scryRenderedDOMComponentsWithTestId } from 'test-utils/Util.js';
+import { scryRenderedDOMComponentsWithTestId } from 'test-utils/Util.js';
describe('SoftwareProductValidation Mapper and View Classes', () => {
it('mapStateToProps mapper exists', () => {
@@ -43,15 +44,18 @@
const vspTestsMap = VSPTestsMapFactory.build();
const certificationChecked = VSPCertificationCheckedFactory.build();
const complianceChecked = VSPComplianceCheckedFactory.build();
+ const generalInfo = VSPGeneralInfoFactory.build();
var obj = {
softwareProduct: {
softwareProductValidation: {
vspChecks: vspChecksList,
vspTestsMap: vspTestsMap.vspTestsMap,
- certificationChecked: certificationChecked.certificationChecked,
+ certificationChecked:
+ certificationChecked.certificationChecked,
complianceChecked: complianceChecked.complianceChecked,
- activeTab: tabsMapping.SETUP
+ activeTab: tabsMapping.SETUP,
+ generalInfo: generalInfo.generalInfo
}
}
};
@@ -65,6 +69,7 @@
results.softwareProductValidation.complianceChecked
).toBeTruthy();
expect(results.softwareProductValidation.activeTab).toBeTruthy();
+ expect(results.softwareProductValidation.generalInfo).toBeTruthy();
});
it('SoftwareProductValidationView render test', () => {
@@ -72,51 +77,63 @@
const vspTestsMap = VSPTestsMapFactory.build();
const certificationChecked = VSPCertificationCheckedFactory.build();
const complianceChecked = VSPComplianceCheckedFactory.build();
- let dummyFunc = () => {};
+ // let dummyFunc = () => {};
const version = {
+ id: 12345,
name: 1
};
const softwareProductId = '1234';
const status = 'draft';
var obj = {
- version: version,
- softwareProductId: softwareProductId,
- status: status,
- softwareProductValidation: {
- vspChecks: vspChecksList,
- vspTestsMap: vspTestsMap,
- certificationChecked: certificationChecked.certificationChecked,
- complianceChecked: complianceChecked.complianceChecked,
- activeTab: tabsMapping.SETUP
+ softwareProduct: {
+ version: version,
+ softwareProductId: softwareProductId,
+ status: status,
+ softwareProductValidation: {
+ vspChecks: vspChecksList,
+ vspTestsMap: vspTestsMap.vspTestsMap,
+ certificationChecked:
+ certificationChecked.certificationChecked,
+ complianceChecked: complianceChecked.complianceChecked,
+ activeTab: tabsMapping.SETUP
+ }
}
};
+
const store = storeCreator();
+ let dispatch = store.dispatch;
+
+ let props = Object.assign(
+ {},
+ mapStateToProps(obj),
+ mapActionsToProps(dispatch)
+ );
+
let softwareProductValidationView = TestUtils.renderIntoDocument(
<Provider store={store}>
- <SoftwareProductValidationView
- {...obj}
- onErrorThrown={dummyFunc}
- onTestSubmit={dummyFunc}
- setVspTestsMap={dummyFunc}
- setActiveTab={dummyFunc}
- setComplianceChecked={dummyFunc}
- setCertificationChecked={dummyFunc}
- />
+ <SoftwareProductValidationView {...props} />
</Provider>
);
expect(softwareProductValidationView).toBeTruthy();
- // let goToInput = scryRenderedDOMComponentsWithTestId(
- // softwareProductValidationView,
- // 'go-to-inputs'
- // );
- // expect(goToInput).toBeTruthy();
+ let goToInput = scryRenderedDOMComponentsWithTestId(
+ softwareProductValidationView,
+ 'go-to-vsp-validation-inputs'
+ );
+ expect(goToInput).toBeTruthy();
// TestUtils.Simulate.click(goToInput[0]);
- // let goToInput = TestUtils.findRenderedDOMComponentWithClass(
+ // expect(
+ // store.getState().softwareProduct.softwareProductValidation.activeTab
+ // ).toBe(tabsMapping.INPUTS);
+ // let goToSetup = scryRenderedDOMComponentsWithTestId(
// softwareProductValidationView,
- // 'go-to-inputs-btn'
+ // 'go-to-vsp-validation-setup'
// );
- // TestUtils.Simulate.click(goToInput);
+ // expect(goToSetup).toBeTruthy();
+ // TestUtils.Simulate.click(goToSetup[0]);
+ // expect(
+ // store.getState().softwareProduct.softwareProductValidation.activeTab
+ // ).toBe(tabsMapping.SETUP);
});
});