summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/softwareProduct/validationResults/SoftwareProductValidationResultsView.test.js
blob: b2cc2c0985b727a18e752ff352217b8ab6abb313 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*
 * 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/validationResults/SoftwareProductValidationResults.js';
import SoftwareProductValidationResultsView from 'sdc-app/onboarding/softwareProduct/validationResults/SoftwareProductValidationResultsView.jsx';
import { VSPTestResultsSuccessFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationResultsFactory.js';
import { VSPTestResultsFailureFactory } from 'test-utils/factories/softwareProduct/SoftwareProductValidationResultsFactory.js';
import TestUtils from 'react-dom/test-utils';

describe('SoftwareProductValidationResults Mapper and View Classes', () => {
    it('mapStateToProps mapper exists', () => {
        expect(mapStateToProps).toBeTruthy();
    });

    it('mapStateToProps fail data test', () => {
        const vspTestResults = VSPTestResultsFailureFactory.build();

        var obj = {
            softwareProduct: {
                softwareProductValidation: {
                    vspTestResults: vspTestResults.vspTestResults
                }
            }
        };
        var results = mapStateToProps(obj);
        expect(results.softwareProductValidation.vspTestResults).toBeTruthy();
    });

    it('mapStateToProps success data test', () => {
        const vspTestResults = VSPTestResultsSuccessFactory.build();

        var obj = {
            softwareProduct: {
                softwareProductValidation: {
                    vspTestResults: vspTestResults.vspTestResults
                }
            }
        };
        var results = mapStateToProps(obj);
        expect(results.softwareProductValidation.vspTestResults).toBeTruthy();
    });

    it('SoftwareProductValidationResultsView test fail render test', () => {
        const vspTestResults = VSPTestResultsFailureFactory.build();

        const version = {
            name: 1
        };
        const softwareProductId = '1234';
        var obj = {
            softwareProductId: softwareProductId,
            version: version,
            softwareProductValidation: {
                vspTestResults: vspTestResults.vspTestResults
            }
        };
        let vspValidationResultsView = TestUtils.renderIntoDocument(
            <SoftwareProductValidationResultsView {...obj} />
        );
        expect(vspValidationResultsView).toBeTruthy();
    });

    it('SoftwareProductValidationResultsView test success render test', () => {
        const vspTestResults = VSPTestResultsSuccessFactory.build();

        let version = {
            name: 1
        };
        const softwareProductId = '1234';
        var obj = {
            softwareProductId: softwareProductId,
            version: version,
            softwareProductValidation: {
                vspTestResults: vspTestResults.vspTestResults
            }
        };
        let vspValidationResultsView = TestUtils.renderIntoDocument(
            <SoftwareProductValidationResultsView {...obj} />
        );
        expect(vspValidationResultsView).toBeTruthy();
    });
});
"s1">'HEAT'}); softwareProductCategories = CategoryWithSubFactory.buildList(2,{},{quantity: 1}); licenseAgreementList = LicenseAgreementStoreFactory.buildList(2); featureGroupsList = FeatureGroupStoreFactory.buildList(2,{referencingLicenseAgreements:[licenseAgreementList[0].id]}); currentScreen = CurrentScreenFactory.build(); qdata = VspQdataFactory.build(); qschema = SoftwareProductQSchemaFactory.build(qdata); }); it('should mapper exist', () => { expect(mapStateToProps).toBeTruthy(); }); it('should mapper return vsp basic data', () => { const state = { currentScreen, softwareProduct: { softwareProductEditor: { data: currentSoftwareProduct }, softwareProductCategories, softwareProductQuestionnaire: { qdata, qschema }, softwareProductComponents: { componentsList:[] }, softwareProductAttachments: { heatSetup: {} } }, finalizedLicenseModelList, licenseModel: { licenseAgreement: { licenseAgreementList }, featureGroup: { featureGroupsList } } }; const result = mapStateToProps(state); expect(result.currentSoftwareProduct).toBeTruthy(); }); it('vsp landing basic view', () => { const params = { ...currentScreen.props, currentSoftwareProduct, componentsList: VSPComponentsFactory.buildList(2), features: [{name:'EXTERNAL_LICENSE', active: true}] }; const store = storeCreator(); let vspLandingView = TestUtils.renderIntoDocument( <Provider store={store}> <SoftwareProductLandingPageView {...params}/> </Provider> ); expect(vspLandingView).toBeTruthy(); }); it('vsp licence agreement type change', () => { const params = { ...currentScreen.props, currentSoftwareProduct, componentsList: VSPComponentsFactory.buildList(2), features: [{name:'EXTERNAL_LICENSE', active: true}] }; const e = { target: { value: 'INTERNAL' }}; const obj = {dummyFunction: x => true}; const store = storeCreator(); let vspLandingView = TestUtils.renderIntoDocument( <Provider store={store}> <SoftwareProductLandingPageView {...params}/> </Provider> ); let vspLandingViewWrapper = TestUtils.findRenderedComponentWithType( vspLandingView, SoftwareProductLandingPageView ); const spy = jest.spyOn(obj, "dummyFunction"); vspLandingViewWrapper.licenceChange(e, currentSoftwareProduct, obj.dummyFunction); expect(spy).toHaveBeenCalled(); expect(currentSoftwareProduct.licenseType).toBe("INTERNAL"); expect(vspLandingViewWrapper).toBeTruthy(); }) it('vsp landing handleOnDragEnter test ', () => { const params = { currentSoftwareProduct, ...currentScreen.props, componentsList: VSPComponentsFactory.buildList(2), features: [{name:'EXTERNAL_LICENSE', active: true}] }; const store = storeCreator(); let vspLandingView = TestUtils.renderIntoDocument( <Provider store={store}> <SoftwareProductLandingPageView {...params}/> </Provider> ); let vspLandingViewWrapper = TestUtils.findRenderedComponentWithType( vspLandingView, SoftwareProductLandingPageView ); expect(vspLandingView).toBeTruthy(); vspLandingViewWrapper.handleOnDragEnter(false); expect(vspLandingViewWrapper.state.dragging).toEqual(true); }); it('vsp landing handleImportSubmit test ', () => { const params = { ...currentScreen.props, currentSoftwareProduct, componentsList: VSPComponentsFactory.buildList(2), onUploadConfirmation: dummyFunc, onUpload: dummyFunc, onInvalidFileSizeUpload: dummyFunc, features: [{name:'EXTERNAL_LICENSE', active: true}] }; const files = [ { name: 'aaa', size: 123 } ]; const store = storeCreator(); let vspLandingView = TestUtils.renderIntoDocument( <Provider store={store}> <SoftwareProductLandingPageView {...params}/> </Provider> ); let vspLandingViewWrapper = TestUtils.findRenderedComponentWithType( vspLandingView, SoftwareProductLandingPageView ); expect(vspLandingView).toBeTruthy(); vspLandingViewWrapper.handleImportSubmit(files, false); expect(vspLandingViewWrapper.state.dragging).toEqual(false); expect(vspLandingViewWrapper.state.fileName).toEqual(files[0].name); const files1 = [ { name: 'bbb', size: 0 } ]; vspLandingViewWrapper.handleImportSubmit(files1, false); }); it('vsp landing handleImportSubmit with damaged file test ', () => { const params = { currentSoftwareProduct, ...currentScreen.props, componentsList: VSPComponentsFactory.buildList(2), onUploadConfirmation: dummyFunc, onUpload: dummyFunc, onInvalidFileSizeUpload: dummyFunc, features: [{name:'EXTERNAL_LICENSE', active: true}] }; const store = storeCreator(); let vspLandingView = TestUtils.renderIntoDocument( <Provider store={store}> <SoftwareProductLandingPageView {...params}/> </Provider> ); let vspLandingViewWrapper = TestUtils.findRenderedComponentWithType( vspLandingView, SoftwareProductLandingPageView ); expect(vspLandingView).toBeTruthy(); const files = [ { name: 'aaa', size: 0 } ]; vspLandingViewWrapper.handleImportSubmit(files, false); expect(vspLandingViewWrapper.state.dragging).toEqual(false); expect(vspLandingViewWrapper.state.fileName).toEqual(''); }); });