summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/softwareProduct/validation
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-ui/test/softwareProduct/validation')
-rw-r--r--openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js108
-rw-r--r--openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js97
-rw-r--r--openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js122
3 files changed, 327 insertions, 0 deletions
diff --git a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js
new file mode 100644
index 0000000000..ee6ba90cd5
--- /dev/null
+++ b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationActionHelper.test.js
@@ -0,0 +1,108 @@
+/*
+ * 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 SoftwareProductValidationActionHelper from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidationActionHelper.js';
+import { tabsMapping } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidationConstants.js';
+
+import Configuration from 'sdc-app/config/Configuration.js';
+
+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 { VSPTestsMapFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationFactory.js';
+
+describe('Software Product Validation Action Helper Tests', function() {
+ it('Software Products Validation Action Helper : Dsspatch', () => {
+ 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' };
+
+ deepFreeze(vspChecksList);
+ deepFreeze(vspTestsMap);
+ deepFreeze(certificationChecked);
+ deepFreeze(complianceChecked);
+ deepFreeze(activeTab);
+
+ 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 };
+ });
+
+ 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)
+ .then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ })
+ .catch(() => {});
+ });
+});
diff --git a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js
new file mode 100644
index 0000000000..aa00a5d605
--- /dev/null
+++ b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationInputView.test.js
@@ -0,0 +1,97 @@
+/*
+ * 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 React from 'react';
+import { mapStateToProps } from 'sdc-app/onboarding/softwareProduct/validation/inputs/VspValidationInputs.js';
+
+import VspValidationInputsView from 'sdc-app/onboarding/softwareProduct/validation/inputs/VspValidationInputsView.jsx';
+import TestUtils from 'react-dom/test-utils';
+
+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 { 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';
+
+describe('SoftwareProductValidation Mapper and View Classes', () => {
+ it('mapStateToProps mapper exists', () => {
+ expect(mapStateToProps).toBeTruthy();
+ });
+
+ it('mapStateToProps data test', () => {
+ const vspChecksList = VSPChecksFactory.build();
+ 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,
+ complianceChecked: complianceChecked.complianceChecked,
+ generalInfo: generalInfo.generalInfo
+ }
+ }
+ };
+ var results = mapStateToProps(obj);
+ expect(results.softwareProductValidation.vspChecks).toBeTruthy();
+ expect(results.softwareProductValidation.vspTestsMap).toBeTruthy();
+ expect(
+ results.softwareProductValidation.certificationChecked
+ ).toBeTruthy();
+ expect(
+ results.softwareProductValidation.complianceChecked
+ ).toBeTruthy();
+ });
+
+ it('SoftwareProductValidationInputView render test', () => {
+ const complianceChecked = VSPComplianceCheckedFactory.build();
+ const certificationChecked = VSPCertificationCheckedFactory.build();
+ const vspTestsMap = VSPTestsMapFactory.build();
+ const vspChecksList = VSPChecksFactory.build();
+ const testsRequest = VSPTestsRequestFactory.build();
+ const generalInfo = VSPGeneralInfoFactory.build();
+
+ const version = {
+ name: 1
+ };
+ const softwareProductId = '1234';
+ 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
+ }
+ };
+
+ let vspValidationInputView = TestUtils.renderIntoDocument(
+ <VspValidationInputsView {...obj} />
+ );
+ expect(vspValidationInputView).toBeTruthy();
+ });
+});
diff --git a/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js
new file mode 100644
index 0000000000..640f9f64be
--- /dev/null
+++ b/openecomp-ui/test/softwareProduct/validation/SoftwareProductValidationView.test.js
@@ -0,0 +1,122 @@
+/*
+ * 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 React from 'react';
+import { Provider } from 'react-redux';
+import { storeCreator } from 'sdc-app/AppStore.js';
+
+import { mapStateToProps } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidation.js';
+import { mapActionsToProps } from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidation.js';
+import SoftwareProductValidationView from 'sdc-app/onboarding/softwareProduct/validation/SoftwareProductValidationView.jsx';
+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 { 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';
+
+describe('SoftwareProductValidation Mapper and View Classes', () => {
+ it('mapStateToProps mapper exists', () => {
+ expect(mapStateToProps).toBeTruthy();
+ });
+
+ it('mapActionsToProps mapper exists', () => {
+ expect(mapActionsToProps).toBeTruthy();
+ });
+
+ it('mapStateToProps data test', () => {
+ const vspChecksList = VSPChecksFactory.build();
+ const vspTestsMap = VSPTestsMapFactory.build();
+ const certificationChecked = VSPCertificationCheckedFactory.build();
+ const complianceChecked = VSPComplianceCheckedFactory.build();
+
+ var obj = {
+ softwareProduct: {
+ softwareProductValidation: {
+ vspChecks: vspChecksList,
+ vspTestsMap: vspTestsMap.vspTestsMap,
+ certificationChecked: certificationChecked.certificationChecked,
+ complianceChecked: complianceChecked.complianceChecked,
+ activeTab: tabsMapping.SETUP
+ }
+ }
+ };
+ var results = mapStateToProps(obj);
+ expect(results.softwareProductValidation.vspChecks).toBeTruthy();
+ expect(results.softwareProductValidation.vspTestsMap).toBeTruthy();
+ expect(
+ results.softwareProductValidation.certificationChecked
+ ).toBeTruthy();
+ expect(
+ results.softwareProductValidation.complianceChecked
+ ).toBeTruthy();
+ expect(results.softwareProductValidation.activeTab).toBeTruthy();
+ });
+
+ it('SoftwareProductValidationView render test', () => {
+ const vspChecksList = VSPChecksFactory.build();
+ const vspTestsMap = VSPTestsMapFactory.build();
+ const certificationChecked = VSPCertificationCheckedFactory.build();
+ const complianceChecked = VSPComplianceCheckedFactory.build();
+ let dummyFunc = () => {};
+ const version = {
+ 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
+ }
+ };
+ const store = storeCreator();
+ let softwareProductValidationView = TestUtils.renderIntoDocument(
+ <Provider store={store}>
+ <SoftwareProductValidationView
+ {...obj}
+ onErrorThrown={dummyFunc}
+ onTestSubmit={dummyFunc}
+ setVspTestsMap={dummyFunc}
+ setActiveTab={dummyFunc}
+ setComplianceChecked={dummyFunc}
+ setCertificationChecked={dummyFunc}
+ />
+ </Provider>
+ );
+
+ expect(softwareProductValidationView).toBeTruthy();
+
+ // let goToInput = scryRenderedDOMComponentsWithTestId(
+ // softwareProductValidationView,
+ // 'go-to-inputs'
+ // );
+ // expect(goToInput).toBeTruthy();
+ // TestUtils.Simulate.click(goToInput[0]);
+ // let goToInput = TestUtils.findRenderedDOMComponentWithClass(
+ // softwareProductValidationView,
+ // 'go-to-inputs-btn'
+ // );
+ // TestUtils.Simulate.click(goToInput);
+ });
+});