aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/nfvo-components/listEditor/listEditor.test.js
blob: 269e5681c424b397415d3cf2c5cf4bd2e9617a26 (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
/*
 * Copyright © 2016-2018 European Support Limited
 *
 * 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.
 */

import React from 'react';
import {mount} from 'enzyme';
import TestUtils from 'react-dom/test-utils';
import ListEditorView from 'src/nfvo-components/listEditor/ListEditorView.jsx';
import ListEditorItemView from 'src/nfvo-components/listEditor/ListEditorItemView.jsx';

describe('listEditor Module Tests', function () {


	it('list editor view should exist', () => {
		expect(ListEditorView).toBeTruthy();
	});

	it('list editor item view should exist', () => {
		expect(ListEditorItemView).toBeTruthy();
	});

	it('should render list and list item and call onEdit', done => {
		let itemView = TestUtils.renderIntoDocument(
			<ListEditorView title='some title'>
				<ListEditorItemView onEdit={done}>
					<div></div>
				</ListEditorItemView>
			</ListEditorView>
		);
		expect(itemView).toBeTruthy();
		let sliderIcon = TestUtils.findRenderedDOMComponentWithClass(itemView, '__sliders');
		TestUtils.Simulate.click(sliderIcon);
	});

	it('should render list and list item and call onFilter', () => {
		let itemView = mount(
			<ListEditorView onFilter={()=>{}} children={[(<ListEditorItemView key='id'/>)]} />
		);
		expect(itemView).toBeTruthy();
		let inputComponent = itemView.find('ExpandableInput');
		expect(inputComponent.length).toBe(1);
	});

	it('should render READONLY list item and not call onEdit', done => {
		let itemView = TestUtils.renderIntoDocument(
			<ListEditorItemView onEdit={done} isReadOnlyMode={true}>
				<div></div>
			</ListEditorItemView>
		);
		expect(itemView).toBeTruthy();
		let sliderIcon = TestUtils.findRenderedDOMComponentWithClass(itemView, '__sliders');
		TestUtils.Simulate.click(sliderIcon);
	});

	it('should render list item and call onDelete', done => {
		let itemView = TestUtils.renderIntoDocument(
			<ListEditorItemView onDelete={done} isReadOnlyMode={false}>
				<div></div>
			</ListEditorItemView>
		);
		expect(itemView).toBeTruthy();
		let sliderIcon = TestUtils.findRenderedDOMComponentWithClass(itemView, '__trashO');
		TestUtils.Simulate.click(sliderIcon);
	});

	it('should render READONLY list item and not call onDelete', () => {
		let itemView = TestUtils.renderIntoDocument(
			<ListEditorItemView onDelete={()=>{}} isReadOnlyMode={true}>
				<div></div>
			</ListEditorItemView>
		);
		expect(itemView).toBeTruthy();
		let trashIcon = TestUtils.scryRenderedDOMComponentsWithClass(itemView, '__trashOq');
		expect(trashIcon).toEqual([]);
	});

});