Simplify the user management
[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                         "allPermissions": ["permission1","permission2"]
50                 }});
51                 expect(component).toMatchSnapshot();
52         });
53
54         it('Test the render method no permission', () => {
55                 const component = shallow(<UserInfoModal />)
56                 component.setState({ userInfo: {}
57                 });
58
59                 expect(component.find('FormControl').length).toEqual(0);
60         });
61
62         it('Test the render method read permission', () => {
63                 const component = shallow(<UserInfoModal />)
64                 component.setState({ userInfo: {
65                         "userName": "test",
66                         "cldsVersion": "1.0.0",
67                         "allPermissions": ["permission1","permission2"]
68                 }});
69
70                 expect(component.find('FormControl').length).toEqual(4);
71
72                 const forms = component.find('FormControl');
73                 expect(forms.get(0).props.defaultValue).toEqual("test");
74                 expect(forms.get(1).props.defaultValue).toEqual("1.0.0");
75                 expect(forms.get(2).props.defaultValue).toEqual("permission1");
76                 expect(forms.get(3).props.defaultValue).toEqual("permission2");
77         });
78 });