[SDC] Onboarding 1710 rebase.
[sdc.git] / openecomp-ui / test / softwareProduct / components / monitoring / SoftwareProductComponentsMonitoring.test.js
1 /*!
2  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 import React from 'react';
18 import TestUtils from 'react-addons-test-utils';
19 import {mapStateToProps} from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.js';
20 import SoftwareProductComponentsMonitoringView from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx';
21
22 import {VSPComponentsMonitoringViewFactory, trap, poll, ves} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsMonitoringFactories.js';
23 import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js';
24
25 const version = VersionControllerUtilsFactory.build();
26
27
28 describe('SoftwareProductComponentsMonitoring Module Tests', function () {
29
30         it('should mapper exist', () => {
31                 expect(mapStateToProps).toBeTruthy();
32         });
33
34         it('should return empty file names', () => {
35                 let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring: {}}};
36                 var results = mapStateToProps({softwareProduct});
37                 expect(results.filenames[trap]).toEqual(undefined);
38                 expect(results.filenames[poll]).toEqual(undefined);
39                 expect(results.filenames[ves]).toEqual(undefined);
40         });
41
42         it('should return trap file name', () => {
43                 const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createTrap: true});
44                 let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}};
45                 var results = mapStateToProps({softwareProduct});
46                 expect(results.filenames[trap]).toEqual(monitoring[trap]);
47                 expect(results.filenames[poll]).toEqual(undefined);
48                 expect(results.filenames[ves]).toEqual(undefined);
49         });
50
51         it('should return ves events file name', () => {
52                 const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createVes: true});
53                 let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}};
54                 var results = mapStateToProps({softwareProduct});
55                 expect(results.filenames[ves]).toEqual(monitoring[ves]);
56                 expect(results.filenames[poll]).toEqual(undefined);
57                 expect(results.filenames[trap]).toEqual(undefined);
58         });
59
60         it('should return poll file names', () => {
61                 const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createPoll: true});
62                 let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}};
63                 var results = mapStateToProps({softwareProduct});
64                 expect(results.filenames[poll]).toEqual(monitoring[poll]);
65                 expect(results.filenames[trap]).toEqual(undefined);
66                 expect(results.filenames[ves]).toEqual(undefined);
67
68                 let renderer = TestUtils.createRenderer();
69                 renderer.render(<SoftwareProductComponentsMonitoringView {...results} />);
70                 let renderedOutput = renderer.getRenderOutput();
71                 expect(renderedOutput).toBeTruthy();
72         });
73
74         it('should return all file names', () => {
75                 const monitoring =  VSPComponentsMonitoringViewFactory.build({}, {createTrap: true, createVes: true, createPoll: true});
76                 let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}};
77                 var results = mapStateToProps({softwareProduct});
78                 expect(results.filenames[poll]).toEqual(monitoring[poll]);
79                 expect(results.filenames[trap]).toEqual(monitoring[trap]);
80                 expect(results.filenames[ves]).toEqual(monitoring[ves]);
81
82                 let renderer = TestUtils.createRenderer();
83                 renderer.render(<SoftwareProductComponentsMonitoringView {...results} />);
84                 let renderedOutput = renderer.getRenderOutput();
85                 expect(renderedOutput).toBeTruthy();
86         });
87
88         it('should change state to dragging', done => {
89                 var view = TestUtils.renderIntoDocument(<SoftwareProductComponentsMonitoringView />);
90                 expect(view.state.dragging).toBe(false);
91                 view.handleOnDragEnter(false);
92                 setTimeout(()=> {
93                         expect(view.state.dragging).toBe(true);
94                         done();
95                 }, 100);
96         });
97
98         it('should not change state to dragging', done => {
99                 var view = TestUtils.renderIntoDocument(<SoftwareProductComponentsMonitoringView />);
100                 expect(view.state.dragging).toBe(false);
101                 view.handleOnDragEnter(true);
102                 setTimeout(()=> {
103                         expect(view.state.dragging).toBe(false);
104                         done();
105                 }, 0);
106         });
107
108 });