2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 import React from 'react';
18 import { Provider } from 'react-redux';
19 import { storeCreator } from 'sdc-app/AppStore.js';
21 import TestUtils from 'react-dom/test-utils';
22 import { defaultStoreFactory } from 'test-utils/factories/onboard/OnboardingCatalogFactories.js';
23 import { FinalizedLicenseModelFactory } from 'test-utils/factories/licenseModel/LicenseModelFactories.js';
24 import { VSPEditorFactory } from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js';
25 import { mapStateToProps } from 'sdc-app/onboarding/onboard/Onboard.js';
26 import { catalogItemTypes } from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogConstants.js';
27 import OnboardingCatalogView from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogView.jsx';
28 import VendorItem from 'sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx';
29 import VSPOverlay from 'sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx';
30 import CatalogItemDetails from 'sdc-app/onboarding/onboard/CatalogItemDetails.jsx';
31 import DetailsCatalogView from 'sdc-app/onboarding/onboard/DetailsCatalogView.jsx';
35 } from 'sdc-app/onboarding/onboard/OnboardConstants';
37 describe('OnBoarding Catalog test - View: ', function() {
38 it('mapStateToProps mapper exists', () => {
39 expect(mapStateToProps).toBeTruthy();
42 it('mapStateToProps data test', () => {
43 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
44 const softwareProductList = VSPEditorFactory.buildList(4);
45 const data = defaultStoreFactory.build({
50 var results = mapStateToProps(data);
51 expect(results.softwareProductList).toBeTruthy();
52 expect(results.licenseModelList).toBeTruthy();
53 expect(results.activeTab).toBeTruthy();
54 expect(results.licenseModelList.length).toEqual(3);
57 it('licenseModelList creating algorithm test', () => {
58 const finalizedLicenseModelList = FinalizedLicenseModelFactory.buildList(
61 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
62 const finalizedSoftwareProductList = VSPEditorFactory.buildList(4, {
63 vendorId: finalizedLicenseModelList[0].id
65 const softwareProductList = VSPEditorFactory.buildList(4, {
66 vendorId: finalizedLicenseModelList[1].id
68 const data = defaultStoreFactory.build({
70 finalizedLicenseModelList,
72 finalizedSoftwareProductList
75 var results = mapStateToProps(data);
77 results.finalizedLicenseModelList[0].softwareProductList.length
78 ).toEqual(finalizedSoftwareProductList.length);
81 it('Catalog view test', () => {
82 const dummyFunc = () => {};
83 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
84 const softwareProductList = VSPEditorFactory.buildList(4, {
85 vendorId: licenseModelList[0].id
87 const data = defaultStoreFactory.build({
93 onAddLicenseModelClick: dummyFunc,
94 onAddSoftwareProductClick: dummyFunc,
95 closeVspOverlay: dummyFunc,
96 onVspOverlayChange: dummyFunc,
97 onTabClick: dummyFunc,
99 onSelectLicenseModel: dummyFunc,
100 onSelectSoftwareProduct: dummyFunc,
101 resetOnboardingCatalogStore: ''
104 let params = { ...func, ...mapStateToProps(data) };
105 const store = storeCreator();
107 let CatalogView = TestUtils.renderIntoDocument(
108 <Provider store={store}>
109 <OnboardingCatalogView {...params} />
112 expect(CatalogView).toBeTruthy();
115 it('VendorItem view test', () => {
116 let vendor = FinalizedLicenseModelFactory.build();
117 const dummyFunc = () => {};
119 softwareProductList: VSPEditorFactory.buildList(4, {
123 onSelectVSP: dummyFunc,
124 shouldShowOverlay: false,
125 onVendorSelect: dummyFunc,
127 onVSPIconClick: dummyFunc
130 let VendorItemView = TestUtils.renderIntoDocument(
131 <VendorItem {...params} />
133 expect(VendorItemView).toBeTruthy();
136 it('VSPOverlay view test', () => {
138 VSPList: VSPEditorFactory.buildList(10, { vendorId: '1' }),
139 onSelectVSP: () => {}
142 let VSPOverlayView = TestUtils.renderIntoDocument(
144 <VSPOverlay {...params} />
147 expect(VSPOverlayView).toBeTruthy();
150 it('CatalogItemDetails view test', () => {
152 catalogItemData: FinalizedLicenseModelFactory.build(),
154 catalogItemTypeClass: catalogItemTypes.LICENSE_MODEL
157 let CatalogItemDetailsView = TestUtils.renderIntoDocument(
159 <CatalogItemDetails {...params} />
162 expect(CatalogItemDetailsView).toBeTruthy();
165 it('DetailsCatalogView view test when filter obj', () => {
167 VLMList: FinalizedLicenseModelFactory.buildList(3),
168 VSPList: VSPEditorFactory.buildList(4),
169 onSelectVLM: () => {},
170 onSelectVSP: () => {},
173 filter: searchValueObj,
174 activeTabName: Object.keys(tabsMapping)[0]
177 let AllCatalog = TestUtils.renderIntoDocument(
178 <DetailsCatalogView {...params} />
180 expect(AllCatalog).toBeTruthy();