b5a2b272e173cc3adac469775153b5b0e53c5657
[clamp.git] / ui-react / src / components / dialogs / UserInfoModal.test.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  *
22  */
23 import React from 'react';
24 import { shallow } from 'enzyme';
25 import UserInfoModal from './UserInfoModal';
26
27 describe('Verify UserInfoModal', () => {
28
29         beforeEach(() => {
30                 fetch.resetMocks();
31                 fetch.mockImplementation(() => {
32                         return Promise.resolve({
33                                 ok: true,
34                                 status: 200,
35                                 json: () => {
36                                         return Promise.resolve({
37                                                 "userName": "test",
38                                                 "cldsVersion": "1.0.0"
39                                         });
40                         }});
41                 });
42         })
43
44         it('Test the render method full permission', () => {
45                 const component = shallow(<UserInfoModal />)
46                 component.setState({ userInfo: {
47                         "userName": "test",
48                         "cldsVersion": "1.0.0",
49                         "permissionReadCl": true,
50                         "permissionReadTemplate" : true,
51                         "permissionReadTosca" : true,
52                         "permissionUpdateTemplate" : true,
53                         "permissionUpdateCl" : true,
54                         "permissionUpdateTosca": true
55                 }});
56                 expect(component).toMatchSnapshot();
57         });
58
59         it('Test the render method no permission', () => {
60                 const component = shallow(<UserInfoModal />)
61                 component.setState({ userInfo: {}
62                 });
63
64                 expect(component.find('FormControl').length).toEqual(0);
65         });
66
67         it('Test the render method read permission', () => {
68                 const component = shallow(<UserInfoModal />)
69                 component.setState({ userInfo: {
70                         "userName": "test",
71                         "cldsVersion": "1.0.0",
72                         "permissionReadCl": true,
73                         "permissionReadTemplate" : true,
74                         "permissionReadTosca" : true
75                 }});
76
77                 expect(component.find('FormControl').length).toEqual(5);
78
79                 const forms = component.find('FormControl');
80                 expect(forms.get(0).props.defaultValue).toEqual("test");
81                 expect(forms.get(1).props.defaultValue).toEqual("1.0.0");
82                 expect(forms.get(2).props.defaultValue).toEqual("Read Template");
83                 expect(forms.get(3).props.defaultValue).toEqual("Read Model");
84                 expect(forms.get(4).props.defaultValue).toEqual("Read Tosca");
85         });
86 });