Add new code new version
[sdc.git] / openecomp-ui / test / softwareProduct / components / loadBalancing / softwareProductComponentLoadbalancing.test.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 import expect from 'expect';
22 import React from 'react';
23 import TestUtils from 'react-addons-test-utils';
24 import {mapStateToProps}  from 'sdc-app/onboarding/softwareProduct/components/loadBalancing/SoftwareProductComponentLoadBalancing.js';
25 import SoftwareProductComponentLoadBalancingView from 'sdc-app/onboarding/softwareProduct/components/loadBalancing/SoftwareProductComponentLoadBalancingRefView.jsx';
26 import {statusEnum as versionStatusEnum} from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
27
28
29 describe('SoftwareProductComponentLoadBalancing Mapper and View Classes', () => {
30         it('mapStateToProps mapper exists', () => {
31                 expect(mapStateToProps).toExist();
32         });
33
34         it('mapStateToProps data test', () => {
35
36                 const currentSoftwareProduct = {
37                         name: 'VSp',
38                         description: 'dfdf',
39                         vendorName: 'V1',
40                         vendorId: '97B3E2525E0640ACACF87CE6B3753E80',
41                         category: 'resourceNewCategory.application l4+',
42                         subCategory: 'resourceNewCategory.application l4+.database',
43                         id: 'D4774719D085414E9D5642D1ACD59D20',
44                         version: '0.10',
45                         viewableVersions: ['0.1', '0.2'],
46                         status: versionStatusEnum.CHECK_OUT_STATUS,
47                         lockingUser: 'cs0008'
48                 };
49
50                 var obj = {
51                         softwareProduct: {
52                                 softwareProductEditor: {
53                                         data: currentSoftwareProduct
54                                 },
55                                 softwareProductComponents: {
56                                         componentEditor: {
57                                                 qdata: {},
58                                                 qschema: {}
59                                         }
60                                 }
61                         }
62                 };
63
64                 var results = mapStateToProps(obj);
65                 expect(results.qdata).toExist();
66                 expect(results.qschema).toExist();
67         });
68
69
70         it('VSP Components LoadBalancing view test', () => {
71
72                 const currentSoftwareProduct = {
73                         name: 'VSp',
74                         description: 'dfdf',
75                         vendorName: 'V1',
76                         vendorId: '97B3E2525E0640ACACF87CE6B3753E80',
77                         category: 'resourceNewCategory.application l4+',
78                         subCategory: 'resourceNewCategory.application l4+.database',
79                         id: 'D4774719D085414E9D5642D1ACD59D20',
80                         version: '0.10',
81                         viewableVersions: ['0.1', '0.2'],
82                         status: versionStatusEnum.CHECK_OUT_STATUS,
83                         lockingUser: 'cs0008'
84                 };
85
86                 const softwareProductComponents = {
87                         componentEditor: {
88                                 qdata: {},
89                                 qschema: {
90                                         $schema: 'http://json-schema.org/draft-04/schema#',
91                                         type: 'object',
92                                         properties: {
93                                                 general: {
94                                                         type: 'object',
95                                                         properties: {}
96                                                 }
97                                         }
98                                 }
99                         }
100                 };
101
102                 const versionControllerData = {
103                         version: '1',
104                         viewableVersions: [],
105                         status: 'locked',
106                         isCheckedOut: true
107                 };
108
109                 var renderer = TestUtils.createRenderer();
110                 renderer.render(
111                         <SoftwareProductComponentLoadBalancingView
112                                 softwareProductComponents={softwareProductComponents}
113                                 versionControllerData={versionControllerData}
114                                 currentSoftwareProduct={currentSoftwareProduct}
115                                 softwareProductId='123'
116                                 componentId='321'/>);
117                 var renderedOutput = renderer.getRenderOutput();
118                 expect(renderedOutput).toExist();
119
120         });
121
122 });