2 * Copyright © 2016-2017 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 TestUtils from 'react-addons-test-utils';
19 import {defaultStoreFactory} from 'test-utils/factories/onboard/OnboardingCatalogFactories.js';
20 import {FinalizedLicenseModelFactory} from 'test-utils/factories/licenseModel/LicenseModelFactories.js';
21 import {VSPEditorFactory} from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js';
22 import {mapStateToProps} from 'sdc-app/onboarding/onboard/Onboard.js';
23 import {catalogItemTypes} from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogConstants.js';
24 import OnboardingCatalogView from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogView.jsx';
25 import VendorItem from 'sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx';
26 import VSPOverlay from 'sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx';
27 import CatalogItemDetails from 'sdc-app/onboarding/onboard/CatalogItemDetails.jsx';
28 import DetailsCatalogView from 'sdc-app/onboarding/onboard/DetailsCatalogView.jsx';
30 describe('OnBoarding Catalog test - View: ', function () {
33 it('mapStateToProps mapper exists', () => {
34 expect(mapStateToProps).toBeTruthy();
37 it('mapStateToProps data test', () => {
39 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
40 const softwareProductList = VSPEditorFactory.buildList(4);
41 const data = defaultStoreFactory.build({licenseModelList, softwareProductList});
43 var results = mapStateToProps(data);
44 expect(results.softwareProductList).toBeTruthy();
45 expect(results.licenseModelList).toBeTruthy();
46 expect(results.activeTab).toBeTruthy();
47 expect(results.licenseModelList.length).toEqual(3);
50 it('licenseModelList creating algorithm test', () => {
52 const finalizedLicenseModelList = FinalizedLicenseModelFactory.buildList(3);
53 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
54 const finalizedSoftwareProductList = VSPEditorFactory.buildList(4, {vendorId: finalizedLicenseModelList[0].id});
55 const softwareProductList = VSPEditorFactory.buildList(4, {vendorId: finalizedLicenseModelList[1].id});
56 const data = defaultStoreFactory.build({licenseModelList, finalizedLicenseModelList, softwareProductList, finalizedSoftwareProductList});
58 var results = mapStateToProps(data);
59 expect(results.finalizedLicenseModelList[0].softwareProductList.length).toEqual(finalizedSoftwareProductList.length);
63 it('Catalog view test', () => {
65 const dummyFunc = () => {};
66 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
67 const softwareProductList = VSPEditorFactory.buildList(4, {vendorId: licenseModelList[0].id});
68 const data = defaultStoreFactory.build({licenseModelList, softwareProductList});
71 onAddLicenseModelClick: dummyFunc,
72 onAddSoftwareProductClick: dummyFunc,
73 closeVspOverlay: dummyFunc,
74 onVspOverlayChange: dummyFunc,
75 onTabClick: dummyFunc,
77 onSelectLicenseModel: dummyFunc,
78 onSelectSoftwareProduct: dummyFunc,
79 resetOnboardingCatalogStore: ''
82 let params = {...func, ...mapStateToProps(data)};
83 let CatalogView = TestUtils.renderIntoDocument(<OnboardingCatalogView
85 expect(CatalogView).toBeTruthy();
88 it('VendorItem view test', () => {
89 let vendor = FinalizedLicenseModelFactory.build();
90 const dummyFunc = () => {};
92 softwareProductList: VSPEditorFactory.buildList(4 ,{vendorId: vendor.id}),
94 onSelectVSP: dummyFunc,
95 shouldShowOverlay: false,
96 onVendorSelect: dummyFunc,
98 onVSPIconClick: dummyFunc,
101 let VendorItemView = TestUtils.renderIntoDocument(<VendorItem{...params}/>);
102 expect(VendorItemView).toBeTruthy();
106 it('VSPOverlay view test', () => {
109 VSPList: VSPEditorFactory.buildList(10 ,{vendorId: '1'}),
110 onSelectVSP: () => {}
113 let VSPOverlayView = TestUtils.renderIntoDocument(<div><VSPOverlay {...params}/></div>);
114 expect(VSPOverlayView).toBeTruthy();
117 it('CatalogItemDetails view test', () => {
120 catalogItemData: FinalizedLicenseModelFactory.build(),
122 catalogItemTypeClass: catalogItemTypes.LICENSE_MODEL
125 let CatalogItemDetailsView = TestUtils.renderIntoDocument(<div><CatalogItemDetails {...params}/></div>);
126 expect(CatalogItemDetailsView).toBeTruthy();
129 it('DetailsCatalogView view test', () => {
132 VLMList: FinalizedLicenseModelFactory.buildList(3),
133 VSPList: VSPEditorFactory.buildList(4),
134 onSelectVLM: () => {},
135 onSelectVSP: () => {},
141 let AllCatalog = TestUtils.renderIntoDocument(<DetailsCatalogView {...params}/>);
142 expect(AllCatalog).toBeTruthy();