summaryrefslogtreecommitdiffstats
path: root/test/components/inlineMessage.test.js
blob: b56a97f9df85727d516c78bed3f85bd8deb3bfa4 (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
/*
 * ============LICENSE_START=======================================================
 * org.onap.aai
 * ================================================================================
 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
 * Copyright © 2017-2018 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=========================================================
 */
import { expect } from 'chai';
import React from 'react';
import TestUtils from 'react-dom/test-utils';
import InlineMessage from 'generic-components/InlineMessage/InlineMessage.jsx';
import InlineMessageConstants from 'generic-components/InlineMessage/InlineMessageConstants.js';

describe('Core Inline Message Suite', function() {

  let _successMessage;
  let _warningMessage;
  let _dangerMessage;
  let _defaultMessage;

  beforeEach(function() {
    _warningMessage = TestUtils.renderIntoDocument(<InlineMessage level='warning' messageTxt='Warning Message' />);
    _successMessage = TestUtils.renderIntoDocument(<InlineMessage level='success' messageTxt='Success Message' />);
    _dangerMessage = TestUtils.renderIntoDocument(<InlineMessage level='danger' messageTxt='Danger Message' />);
    _defaultMessage = TestUtils.renderIntoDocument(<InlineMessage level='info' messageTxt='Info Message' />);
  });

	// test structure
  it('Inline Message - validate success message panel', function() {
    let alertPanel = TestUtils.findRenderedDOMComponentWithClass(_successMessage, 'alert');
    expect(alertPanel).to.exist; // alert panel exists
    let alertPanel_style = TestUtils.findRenderedDOMComponentWithClass(_successMessage, 'alert-success');
    expect(alertPanel_style).to.exist; // alert panel has proper styling
    let messagePanel = TestUtils.findRenderedDOMComponentWithClass(_successMessage, InlineMessageConstants.MESSAGE_PANEL_CLASSNAME);
    expect(messagePanel).to.exist;
    expect(messagePanel.innerHTML).to.have.string('Success Message'); // messagePanel panel has proper message
    let iconPanel = TestUtils.findRenderedDOMComponentWithClass(_successMessage, InlineMessageConstants.ICON_PANEL_CLASSNAME);
    expect(iconPanel).to.exist;
    expect(iconPanel.innerHTML).to.have.string(InlineMessageConstants.SUCCESS_CLASSNAME); // notification panel has proper styling
  });
  it('Inline Message - validate info message panel', function() {
    let alertPanel = TestUtils.findRenderedDOMComponentWithClass(_defaultMessage, 'alert');
    expect(alertPanel).to.exist; // alert panel exists
    let alertPanel_style = TestUtils.findRenderedDOMComponentWithClass(_defaultMessage, 'alert-info');
    expect(alertPanel_style).to.exist; // alert panel has proper styling
    let messagePanel = TestUtils.findRenderedDOMComponentWithClass(_defaultMessage, InlineMessageConstants.MESSAGE_PANEL_CLASSNAME);
    expect(messagePanel).to.exist;
    expect(messagePanel.innerHTML).to.have.string('Info Message'); // messagePanel panel has proper message
    let iconPanel = TestUtils.findRenderedDOMComponentWithClass(_defaultMessage, InlineMessageConstants.ICON_PANEL_CLASSNAME);
    expect(iconPanel).to.exist;
    expect(iconPanel.innerHTML).to.have.string(InlineMessageConstants.DEFAULT_CLASSNAME); // icon panel has proper styling
  });
  it('Inline Message - validate warning message panel', function() {
    let alertPanel = TestUtils.findRenderedDOMComponentWithClass(_warningMessage, 'alert');
    expect(alertPanel).to.exist; // alert panel exists
    let alertPanel_style = TestUtils.findRenderedDOMComponentWithClass(_warningMessage, 'alert-warning');
    expect(alertPanel_style).to.exist; // alert panel has proper styling
    let messagePanel = TestUtils.findRenderedDOMComponentWithClass(_warningMessage, InlineMessageConstants.MESSAGE_PANEL_CLASSNAME);
    expect(messagePanel).to.exist;
    expect(messagePanel.innerHTML).to.have.string('Warning Message'); // messagePanel panel has proper message
    let iconPanel = TestUtils.findRenderedDOMComponentWithClass(_warningMessage, InlineMessageConstants.ICON_PANEL_CLASSNAME);
    expect(iconPanel).to.exist;
    expect(iconPanel.innerHTML).to.have.string(InlineMessageConstants.WARNING_CLASSNAME); // icon panel has proper styling
  });
  it('Inline Message - validate danger message panel', function() {
    let alertPanel = TestUtils.findRenderedDOMComponentWithClass(_dangerMessage, 'alert');
    expect(alertPanel).to.exist; // alert panel exists
    let alertPanel_style = TestUtils.findRenderedDOMComponentWithClass(_dangerMessage, 'alert-danger');
    expect(alertPanel_style).to.exist; // alert panel has proper styling
    let messagePanel = TestUtils.findRenderedDOMComponentWithClass(_dangerMessage, InlineMessageConstants.MESSAGE_PANEL_CLASSNAME);
    expect(messagePanel).to.exist;
    expect(messagePanel.innerHTML).to.have.string('Danger Message'); // messagePanel panel has proper message
    let iconPanel = TestUtils.findRenderedDOMComponentWithClass(_dangerMessage, InlineMessageConstants.ICON_PANEL_CLASSNAME);
    expect(iconPanel).to.exist;
    expect(iconPanel.innerHTML).to.have.string(InlineMessageConstants.DANGER_CLASSNAME); // icon panel has proper styling
  });
});