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 {mapStateToProps} from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.js';
20 import SoftwareProductComponentsMonitoringView from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx';
22 import {VSPComponentsMonitoringViewFactory, trap, poll, ves} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsMonitoringFactories.js';
23 import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js';
25 const version = VersionControllerUtilsFactory.build();
28 describe('SoftwareProductComponentsMonitoring Module Tests', function () {
30 it('should mapper exist', () => {
31 expect(mapStateToProps).toBeTruthy();
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);
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);
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);
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);
68 let renderer = TestUtils.createRenderer();
69 renderer.render(<SoftwareProductComponentsMonitoringView {...results} />);
70 let renderedOutput = renderer.getRenderOutput();
71 expect(renderedOutput).toBeTruthy();
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]);
82 let renderer = TestUtils.createRenderer();
83 renderer.render(<SoftwareProductComponentsMonitoringView {...results} />);
84 let renderedOutput = renderer.getRenderOutput();
85 expect(renderedOutput).toBeTruthy();
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);
93 expect(view.state.dragging).toBe(true);
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);
103 expect(view.state.dragging).toBe(false);