2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 import expect from 'expect';
22 import deepFreeze from 'deep-freeze';
23 import Configuration from 'sdc-app/config/Configuration.js';
24 import VersionControllerUtils from 'nfvo-components/panel/versionController/VersionControllerUtils.js';
25 import {statusEnum} from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
27 const status = 'testStatus';
29 describe('versionController UI Component', () => {
31 it('function does exist', () => {
32 expect(VersionControllerUtils).toExist();
35 it('validating getCheckOutStatusKindByUserID - without "UserID"', () => {
36 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status);
37 expect(result.status).toBe(status);
38 expect(result.isCheckedOut).toBe(true);
41 it('validating getCheckOutStatusKindByUserID - without "UserID" with locking user', () => {
42 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status, 'locking user');
43 expect(result.status).toBe(statusEnum.LOCK_STATUS);
44 expect(result.isCheckedOut).toBe(false);
47 it('validating getCheckOutStatusKindByUserID - with "UserID" with configuration set', () => {
50 Configuration.set('ATTUserID', userId);
51 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status, userId);
52 Configuration.set('ATTUserID', undefined);
54 expect(result.status).toBe(status);
55 expect(result.isCheckedOut).toBe(true);
60 it('validating isCheckedOutByCurrentUser - when resource is not checked out', () => {
61 const currentUser = 'current';
62 const resource = deepFreeze({
64 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
68 Configuration.set('ATTUserID', currentUser);
69 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
70 Configuration.set('ATTUserID', undefined);
72 expect(result).toBe(false);
75 it('validating isCheckedOutByCurrentUser - when resource is checked out', () => {
76 const currentUser = 'current';
77 const resource = deepFreeze({
79 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
81 lockingUser: 'current'
84 Configuration.set('ATTUserID', currentUser);
85 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
86 Configuration.set('ATTUserID', undefined);
88 expect(result).toBe(true);
91 it('validating isCheckedOutByCurrentUser - when resource is checked out by another user', () => {
92 const currentUser = 'current';
93 const resource = deepFreeze({
95 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
97 lockingUser: 'another'
100 Configuration.set('ATTUserID', currentUser);
101 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
102 Configuration.set('ATTUserID', undefined);
104 expect(result).toBe(false);
109 it('validating isReadOnly - when resource is not checked out', () => {
110 const currentUser = 'current';
111 const resource = deepFreeze({
113 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
117 Configuration.set('ATTUserID', currentUser);
118 const result = VersionControllerUtils.isReadOnly(resource);
119 Configuration.set('ATTUserID', undefined);
121 expect(result).toBe(true);
124 it('validating isReadOnly - when resource is checked out', () => {
125 const currentUser = 'current';
126 const resource = deepFreeze({
128 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
130 lockingUser: 'current'
133 Configuration.set('ATTUserID', currentUser);
134 const result = VersionControllerUtils.isReadOnly(resource);
135 Configuration.set('ATTUserID', undefined);
137 expect(result).toBe(false);
140 it('validating isReadOnly - when version of resource is not latest', () => {
141 const currentUser = 'current';
142 const resource = deepFreeze({
144 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
146 lockingUser: 'current'
149 Configuration.set('ATTUserID', currentUser);
150 const result = VersionControllerUtils.isReadOnly(resource);
151 Configuration.set('ATTUserID', undefined);
153 expect(result).toBe(true);
156 it('validating isReadOnly - when resource is checked out by another user', () => {
157 const currentUser = 'current';
158 const resource = deepFreeze({
160 viewableVersions: ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6'],
162 lockingUser: 'another'
165 Configuration.set('ATTUserID', currentUser);
166 const result = VersionControllerUtils.isReadOnly(resource);
167 Configuration.set('ATTUserID', undefined);
169 expect(result).toBe(true);