2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
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
13 * or implied. See the License for the specific language governing
14 * permissions and 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 OnboardingCatalogView from 'sdc-app/onboarding/onboard/onboardingCatalog/OnboardingCatalogView.jsx';
24 import VendorItem from 'sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx';
25 import VSPOverlay from 'sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx';
26 import CatalogItemDetails from 'sdc-app/onboarding/onboard/CatalogItemDetails.jsx';
27 import DetailsCatalogView from 'sdc-app/onboarding/onboard/DetailsCatalogView.jsx';
29 describe('OnBoarding Catalog test - View: ', function () {
32 it('mapStateToProps mapper exists', () => {
33 expect(mapStateToProps).toBeTruthy();
36 it('mapStateToProps data test', () => {
38 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
39 const softwareProductList = VSPEditorFactory.buildList(4);
40 const data = defaultStoreFactory.build({licenseModelList, softwareProductList});
42 var results = mapStateToProps(data);
43 expect(results.softwareProductList).toBeTruthy();
44 expect(results.licenseModelList).toBeTruthy();
45 expect(results.activeTab).toBeTruthy();
46 expect(results.licenseModelList.length).toEqual(3);
49 it('licenseModelList creating algorithm test', () => {
51 const finalizedLicenseModelList = FinalizedLicenseModelFactory.buildList(3);
52 const licenseModelList = [...finalizedLicenseModelList];
53 const finalizedSoftwareProductList = VSPEditorFactory.buildList(4 ,{vendorId: finalizedLicenseModelList[0].id});
54 const softwareProductList = [...finalizedSoftwareProductList];
55 const data = defaultStoreFactory.build({licenseModelList, finalizedLicenseModelList, softwareProductList, finalizedSoftwareProductList});
57 var results = mapStateToProps(data);
58 expect(results.finalizedLicenseModelList[0].softwareProductList.length).toEqual(finalizedSoftwareProductList.length);
62 it('Catalog view test', () => {
64 const dummyFunc = () => {};
65 const licenseModelList = FinalizedLicenseModelFactory.buildList(3);
66 const softwareProductList = VSPEditorFactory.buildList(4 ,{vendorId: licenseModelList[0].id});
67 const data = defaultStoreFactory.build({licenseModelList, softwareProductList});
70 onAddLicenseModelClick: dummyFunc,
71 onAddSoftwareProductClick: dummyFunc,
72 closeVspOverlay: dummyFunc,
73 onVspOverlayChange: dummyFunc,
74 onTabClick: dummyFunc,
76 onSelectLicenseModel: dummyFunc,
77 onSelectSoftwareProduct: dummyFunc,
78 resetOnboardingCatalogStore: ''
81 let params = {...func, ...mapStateToProps(data)};
82 let CatalogView = TestUtils.renderIntoDocument(<OnboardingCatalogView
84 expect(CatalogView).toBeTruthy();
87 it('VendorItem view test', () => {
88 let vendor = FinalizedLicenseModelFactory.build();
89 const dummyFunc = () => {};
91 softwareProductList: VSPEditorFactory.buildList(4 ,{vendorId: vendor.id}),
93 onSelectVSP: dummyFunc,
94 shouldShowOverlay: false,
95 onVendorSelect: dummyFunc,
97 onVSPIconClick: dummyFunc,
100 let VendorItemView = TestUtils.renderIntoDocument(<VendorItem{...params}/>);
101 expect(VendorItemView).toBeTruthy();
105 it('VSPOverlay view test', () => {
108 VSPList: VSPEditorFactory.buildList(10 ,{vendorId: '1'}),
109 onSelectVSP: () => {}
112 let VSPOverlayView = TestUtils.renderIntoDocument(<div><VSPOverlay {...params}/></div>);
113 expect(VSPOverlayView).toBeTruthy();
116 it('CatalogItemDetails view test', () => {
119 catalogItemData: FinalizedLicenseModelFactory.build(),
121 catalogItemTypeClass: ''
124 let CatalogItemDetailsView = TestUtils.renderIntoDocument(<div><CatalogItemDetails {...params}/></div>);
125 expect(CatalogItemDetailsView).toBeTruthy();
128 it('DetailsCatalogView view test', () => {
131 VLMList: FinalizedLicenseModelFactory.buildList(3),
132 VSPList: VSPEditorFactory.buildList(4),
133 onSelectVLM: () => {},
134 onSelectVSP: () => {},
140 let AllCatalog = TestUtils.renderIntoDocument(<DetailsCatalogView {...params}/>);
141 expect(AllCatalog).toBeTruthy();