[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-ui / test / nfvo-components / panel / VersionController / versionControllerUtils.test.js
1 /*!
2  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13  * or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16
17
18 import Configuration from 'sdc-app/config/Configuration.js';
19 import VersionControllerUtils from 'nfvo-components/panel/versionController/VersionControllerUtils.js';
20 import {statusEnum} from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
21 import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js';
22
23 const status = 'testStatus';
24 const {lockingUser: currentUser, viewableVersions: defaultVersions} = VersionControllerUtilsFactory.build();
25
26 describe('versionController UI Component', () => {
27
28         it('function does exist', () => {
29                 expect(VersionControllerUtils).toBeTruthy();
30         });
31
32         it('validating getCheckOutStatusKindByUserID - without "UserID"', () => {
33                 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status);
34                 expect(result.status).toBe(status);
35                 expect(result.isCheckedOut).toBe(false);
36         });
37
38         it('validating getCheckOutStatusKindByUserID - without "UserID" with locking user', () => {
39                 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status, 'locking user');
40                 expect(result.status).toBe(statusEnum.LOCK_STATUS);
41                 expect(result.isCheckedOut).toBe(false);
42         });
43
44         it('validating getCheckOutStatusKindByUserID - with "UserID" with configuration set', () => {
45                 const Uid = 'ecomp';
46
47                 Configuration.set('UserID', Uid);
48                 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status, Uid);
49                 Configuration.set('UserID', undefined);
50                 expect(result.status).toBe(status);
51                 expect(result.isCheckedOut).toBe(true);
52         });
53
54
55
56         it('validating isCheckedOutByCurrentUser - when resource is not checked out', () => {
57                 const resource = VersionControllerUtilsFactory.build({status: statusEnum.SUBMIT_STATUS});
58
59                 Configuration.set('UserID', currentUser);
60                 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
61                 Configuration.set('UserID', undefined);
62
63                 expect(result).toBe(false);
64         });
65
66         it('validating isCheckedOutByCurrentUser - when resource is checked out', () => {
67                 const resource = VersionControllerUtilsFactory.build();
68
69                 Configuration.set('UserID', currentUser);
70                 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
71                 Configuration.set('UserID', undefined);
72
73                 expect(result).toBe(true);
74         });
75
76         it('validating isCheckedOutByCurrentUser - when resource is checked out by another user', () => {
77                 const resource = VersionControllerUtilsFactory.build({lockingUser: 'another'});
78
79                 Configuration.set('UserID', currentUser);
80                 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
81                 Configuration.set('UserID', undefined);
82
83                 expect(result).toBe(false);
84         });
85
86
87
88         it('validating isReadOnly - when resource is not checked out', () => {
89                 const resource = VersionControllerUtilsFactory.build({status: statusEnum.SUBMIT_STATUS});
90
91                 Configuration.set('UserID', currentUser);
92                 const result = VersionControllerUtils.isReadOnly(resource);
93                 Configuration.set('UserID', undefined);
94
95                 expect(result).toBe(true);
96         });
97
98         it('validating isReadOnly - when resource is checked out', () => {
99                 const resource = VersionControllerUtilsFactory.build();
100
101                 Configuration.set('UserID', currentUser);
102                 const result = VersionControllerUtils.isReadOnly(resource);
103                 Configuration.set('UserID', undefined);
104
105                 expect(result).toBe(false);
106         });
107
108         it('validating isReadOnly - when version of resource is not latest', () => {
109
110                 const resource = VersionControllerUtilsFactory.build({version: defaultVersions[defaultVersions.length - 2]});
111
112                 Configuration.set('UserID', currentUser);
113                 const result = VersionControllerUtils.isReadOnly(resource);
114                 Configuration.set('UserID', undefined);
115
116                 expect(result).toBe(true);
117         });
118
119         it('validating isReadOnly - when resource is checked out by another user', () => {
120                 const resource = VersionControllerUtilsFactory.build({lockingUser: 'another'});
121
122                 Configuration.set('UserID', currentUser);
123                 const result = VersionControllerUtils.isReadOnly(resource);
124                 Configuration.set('UserID', undefined);
125
126                 expect(result).toBe(true);
127         });
128 });