[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370
Signed-off-by: AviZi <avi.ziv@amdocs.com>
diff --git a/openecomp-ui/test/onboard/onboardingCatalog/test.js b/openecomp-ui/test/onboard/onboardingCatalog/test.js
new file mode 100644
index 0000000..cc54e31
--- /dev/null
+++ b/openecomp-ui/test/onboard/onboardingCatalog/test.js
@@ -0,0 +1,63 @@
+/*!
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ *
+ * 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 {storeCreator} from 'sdc-app/AppStore.js';
+import {OnboardingCatalogStoreFactory} from 'test-utils/factories/onboard/OnboardingCatalogFactories.js';
+import {LicenseModelStoreFactory} from 'test-utils/factories/licenseModel/LicenseModelFactories.js';
+import OnboardingCatalogActionHelper from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogActionHelper.js';
+import {tabsMapping} from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogConstants.js';
+
+
+describe('Onboarding Catalog Module Tests', () => {
+ it('should return default state', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardingCatalogStoreFactory.build();
+ expect(store.getState().onboard.onboardingCatalog).toEqual(expectedStore);
+ });
+
+ it('should change active tab to All', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardingCatalogStoreFactory.build({activeTab: tabsMapping.ALL});
+ OnboardingCatalogActionHelper.changeActiveTab(store.dispatch, tabsMapping.ALL);
+ expect(store.getState().onboard.onboardingCatalog).toEqual(expectedStore);
+ });
+
+
+ it('should change VSP Overlay', () => {
+ const vendor = LicenseModelStoreFactory.build();
+ const store = storeCreator();
+ const expectedStore = OnboardingCatalogStoreFactory.build({vendorCatalog: {vspOverlay: vendor.id}});
+ OnboardingCatalogActionHelper.changeVspOverlay(store.dispatch, vendor);
+ expect(store.getState().onboard.onboardingCatalog).toEqual(expectedStore);
+ });
+
+ it('should close VSP Overlay', () => {
+ const vendor = LicenseModelStoreFactory.build();
+ const store = storeCreator();
+ const expectedStore = OnboardingCatalogStoreFactory.build({vendorCatalog: {vspOverlay: null}});
+ OnboardingCatalogActionHelper.changeVspOverlay(store.dispatch, vendor);
+ OnboardingCatalogActionHelper.changeVspOverlay(store.dispatch, null);
+ expect(store.getState().onboard.onboardingCatalog).toEqual(expectedStore);
+ });
+
+ it('should select vendor', () => {
+ const vendor = LicenseModelStoreFactory.build();
+ const store = storeCreator();
+ const expectedStore = OnboardingCatalogStoreFactory.build({vendorCatalog: {selectedVendor: vendor}});
+ OnboardingCatalogActionHelper.onVendorSelect(store.dispatch, {vendor});
+ expect(store.getState().onboard.onboardingCatalog).toEqual(expectedStore);
+ });
+
+});
diff --git a/openecomp-ui/test/onboard/onboardingCatalog/views.test.js b/openecomp-ui/test/onboard/onboardingCatalog/views.test.js
new file mode 100644
index 0000000..fb038eb
--- /dev/null
+++ b/openecomp-ui/test/onboard/onboardingCatalog/views.test.js
@@ -0,0 +1,143 @@
+/*!
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ *
+ * 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 TestUtils from 'react-addons-test-utils';
+import {defaultStoreFactory} from 'test-utils/factories/onboard/OnboardingCatalogFactories.js';
+import {FinalizedLicenseModelFactory} from 'test-utils/factories/licenseModel/LicenseModelFactories.js';
+import {VSPEditorFactory} from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js';
+import {mapStateToProps} from 'sdc-app/onboarding/onboard/Onboard.js';
+import OnboardingCatalogView from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogView.jsx';
+import VendorItem from 'sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx';
+import VSPOverlay from 'sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx';
+import CatalogItemDetails from 'sdc-app/onboarding/onboard/CatalogItemDetails.jsx';
+import DetailsCatalogView from 'sdc-app/onboarding/onboard/DetailsCatalogView.jsx';
+
+describe('OnBoarding Catalog test - View: ', function () {
+
+
+ it('mapStateToProps mapper exists', () => {
+ expect(mapStateToProps).toBeTruthy();
+ });
+
+ it('mapStateToProps data test', () => {
+
+ const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
+ const softwareProductList = VSPEditorFactory.buildList(4);
+ const data = defaultStoreFactory.build({licenseModelList, softwareProductList});
+
+ var results = mapStateToProps(data);
+ expect(results.softwareProductList).toBeTruthy();
+ expect(results.licenseModelList).toBeTruthy();
+ expect(results.activeTab).toBeTruthy();
+ expect(results.licenseModelList.length).toEqual(3);
+ });
+
+ it('licenseModelList creating algorithm test', () => {
+
+ const finalizedLicenseModelList = FinalizedLicenseModelFactory.buildList(3);
+ const licenseModelList = [...finalizedLicenseModelList];
+ const finalizedSoftwareProductList = VSPEditorFactory.buildList(4 ,{vendorId: finalizedLicenseModelList[0].id});
+ const softwareProductList = [...finalizedSoftwareProductList];
+ const data = defaultStoreFactory.build({licenseModelList, finalizedLicenseModelList, softwareProductList, finalizedSoftwareProductList});
+
+ var results = mapStateToProps(data);
+ expect(results.finalizedLicenseModelList[0].softwareProductList.length).toEqual(finalizedSoftwareProductList.length);
+ });
+
+
+ it('Catalog view test', () => {
+
+ const dummyFunc = () => {};
+ const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
+ const softwareProductList = VSPEditorFactory.buildList(4 ,{vendorId: licenseModelList[0].id});
+ const data = defaultStoreFactory.build({licenseModelList, softwareProductList});
+
+ const func = {
+ onAddLicenseModelClick: dummyFunc,
+ onAddSoftwareProductClick: dummyFunc,
+ closeVspOverlay: dummyFunc,
+ onVspOverlayChange: dummyFunc,
+ onTabClick: dummyFunc,
+ onSearch: dummyFunc,
+ onSelectLicenseModel: dummyFunc,
+ onSelectSoftwareProduct: dummyFunc,
+ resetOnboardingCatalogStore: ''
+ };
+
+ let params = {...func, ...mapStateToProps(data)};
+ let CatalogView = TestUtils.renderIntoDocument(<OnboardingCatalogView
+ {...params}/>);
+ expect(CatalogView).toBeTruthy();
+ });
+
+ it('VendorItem view test', () => {
+ let vendor = FinalizedLicenseModelFactory.build();
+ const dummyFunc = () => {};
+ let params = {
+ softwareProductList: VSPEditorFactory.buildList(4 ,{vendorId: vendor.id}),
+ vendor,
+ onSelectVSP: dummyFunc,
+ shouldShowOverlay: false,
+ onVendorSelect: dummyFunc,
+ onAddVSP: dummyFunc,
+ onVSPIconClick: dummyFunc,
+ };
+
+ let VendorItemView = TestUtils.renderIntoDocument(<VendorItem{...params}/>);
+ expect(VendorItemView).toBeTruthy();
+ });
+
+
+ it('VSPOverlay view test', () => {
+
+ let params = {
+ VSPList: VSPEditorFactory.buildList(10 ,{vendorId: '1'}),
+ onSelectVSP: () => {}
+ };
+
+ let VSPOverlayView = TestUtils.renderIntoDocument(<div><VSPOverlay {...params}/></div>);
+ expect(VSPOverlayView).toBeTruthy();
+ });
+
+ it('CatalogItemDetails view test', () => {
+
+ let params = {
+ catalogItemData: FinalizedLicenseModelFactory.build(),
+ onSelect: () => {},
+ catalogItemTypeClass: ''
+ };
+
+ let CatalogItemDetailsView = TestUtils.renderIntoDocument(<div><CatalogItemDetails {...params}/></div>);
+ expect(CatalogItemDetailsView).toBeTruthy();
+ });
+
+ it('DetailsCatalogView view test', () => {
+
+ let params = {
+ VLMList: FinalizedLicenseModelFactory.buildList(3),
+ VSPList: VSPEditorFactory.buildList(4),
+ onSelectVLM: () => {},
+ onSelectVSP: () => {},
+ onAddVLM: () => {},
+ onAddVSP: () => {},
+ filter: ''
+ };
+
+ let AllCatalog = TestUtils.renderIntoDocument(<DetailsCatalogView {...params}/>);
+ expect(AllCatalog).toBeTruthy();
+ });
+});
diff --git a/openecomp-ui/test/onboard/test.js b/openecomp-ui/test/onboard/test.js
new file mode 100644
index 0000000..18bb042
--- /dev/null
+++ b/openecomp-ui/test/onboard/test.js
@@ -0,0 +1,62 @@
+/*!
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ *
+ * 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 {storeCreator} from 'sdc-app/AppStore.js';
+import {OnboardStoreFactory} from 'test-utils/factories/onboard/OnboardFactories.js';
+import OnboardActionHelper from 'sdc-app/onboarding/onboard/OnboardActionHelper.js';
+import OnboardingCatalogActionHelper from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogActionHelper.js';
+import {tabsMapping as onboardTabsMapping} from 'sdc-app/onboarding/onboard/OnboardConstants.js';
+import {tabsMapping as onboardCatalogTabsMapping} from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogConstants.js';
+
+describe('Onboard Module Tests', () => {
+ it('should return default state', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardStoreFactory.build();
+ expect(store.getState().onboard).toEqual(expectedStore);
+ });
+
+ it('should change active tab to Catalog', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardStoreFactory.build({activeTab: onboardTabsMapping.CATALOG});
+ OnboardActionHelper.changeActiveTab(store.dispatch, onboardTabsMapping.CATALOG);
+ expect(store.getState().onboard).toEqual(expectedStore);
+ });
+
+ it('should change searchValue', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardStoreFactory.build({searchValue: 'hello'});
+ OnboardActionHelper.changeSearchValue(store.dispatch, 'hello');
+ expect(store.getState().onboard).toEqual(expectedStore);
+ });
+
+ it('should clear searchValue', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardStoreFactory.build();
+ OnboardActionHelper.changeSearchValue(store.dispatch, 'hello');
+ OnboardActionHelper.clearSearchValue(store.dispatch);
+ expect(store.getState().onboard).toEqual(expectedStore);
+ });
+
+ it('should reset store', () => {
+ const store = storeCreator();
+ const expectedStore = OnboardStoreFactory.build();
+ OnboardActionHelper.changeSearchValue(store.dispatch, 'hello');
+ OnboardActionHelper.changeActiveTab(store.dispatch, onboardTabsMapping.CATALOG);
+ OnboardingCatalogActionHelper.changeActiveTab(store.dispatch, onboardCatalogTabsMapping.ALL);
+ OnboardActionHelper.resetOnboardStore(store.dispatch, 'hello');
+ expect(store.getState().onboard).toEqual(expectedStore);
+ });
+
+});