summaryrefslogtreecommitdiffstats
path: root/test/vnfSearch/vnfSearchVisualizations/vnfSearchVisualizations.test.js
blob: c3aeb91cc3d798858f0eeafb10eeb9aac2b9d03e (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
/*
 * ============LICENSE_START=======================================================
 * org.onap.aai
 * ================================================================================
 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 * Copyright © 2017 Amdocs
 * ================================================================================
 * 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.
 * ============LICENSE_END=========================================================
 *
 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
import React from 'react';
import TestUtils from 'react-dom/lib/ReactTestUtils';
import {storeCreator} from 'app/AppStore.js';
import {Provider} from 'react-redux';
import { expect } from 'chai';
import VnfSearchOrchStatusVisualizations from 'app/vnfSearch/vnfSearchVisualizations/VnfSearchOrchestratedStatusVisualization.jsx';
import VnfSearchProvStatusVisualizations from 'app/vnfSearch/vnfSearchVisualizations/VnfSearchProvStatusVisualization.jsx';
import VnfSearchTotalCountVisualization from 'app/vnfSearch/vnfSearchVisualizations/VnfSearchTotalCountVisualization.jsx';
import {
  CHART_PROV_STATUS,
  CHART_ORCH_STATUS,
  TOTAL_VNF_COUNT} from 'app/vnfSearch/vnfSearchVisualizations/VnfSearchVisualizationsConstants.js';

describe('VNF Visualizations Structure Tests', function () {

  function createState(processedOrchStatusCountChartData,
                       processedProvStatusCountChartData) {
    return {
      vnfSearch: {
        auditVisualizationsData: {
          processedOrchStatusCountChartData: processedOrchStatusCountChartData,
          processedProvStatusCountChartData: processedProvStatusCountChartData
        }
      }
    };
  }

  it('VNF: Visualization layout VNF Orch Status, no data', function () {
    const store = storeCreator(createState(
        CHART_ORCH_STATUS.clearingEmptyData,
        CHART_PROV_STATUS.clearingEmptyData
    ));
    this.component = TestUtils.renderIntoDocument(
        <Provider store={store}>
          <VnfSearchOrchStatusVisualizations />
        </Provider>
    );
    let visualizationContainer = TestUtils.scryRenderedDOMComponentsWithClass(this.component, 'visualizations');
    expect(visualizationContainer).to.exist; // there is always a visualizations container
    expect(visualizationContainer[0].className).to.contain('hidden'); // make sure visualizations is hidden
  });

  it('VNF: Visualization layout VNF Prov Status, no data', function () {
    const store = storeCreator(createState(
        CHART_ORCH_STATUS.clearingEmptyData,
        CHART_PROV_STATUS.clearingEmptyData
    ));
    this.component = TestUtils.renderIntoDocument(
        <Provider store={store}>
          <VnfSearchProvStatusVisualizations />
        </Provider>
    );
    let visualizationContainer = TestUtils.scryRenderedDOMComponentsWithClass(this.component, 'visualizations');
    expect(visualizationContainer).to.exist; // there is always a visualizations container
    expect(visualizationContainer[0].className).to.contain('hidden'); // make sure visualizations is hidden
  });


  it('VNF: Visualization layout Total VNF, no data', function () {
    const store = storeCreator(createState(
        TOTAL_VNF_COUNT.clearingEmptyValue
    ));
    this.component = TestUtils.renderIntoDocument(
        <Provider store={store}>
          <VnfSearchTotalCountVisualization />
        </Provider>
    );
    let visualizationContainer = TestUtils.scryRenderedDOMComponentsWithClass(this.component, 'visualizations');
    expect(visualizationContainer).to.exist; // there is always a visualizations container
    expect(visualizationContainer[0].className).to.contain('hidden'); // make sure visualizations is hidden
  });
});