2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
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';
23 const status = 'testStatus';
24 const {lockingUser: currentUser, viewableVersions: defaultVersions} = VersionControllerUtilsFactory.build();
26 describe('versionController UI Component', () => {
28 it('function does exist', () => {
29 expect(VersionControllerUtils).toBeTruthy();
32 it('validating getCheckOutStatusKindByUserID - without "UserID"', () => {
33 var result = VersionControllerUtils.getCheckOutStatusKindByUserID(status);
34 expect(result.status).toBe(status);
35 expect(result.isCheckedOut).toBe(false);
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);
44 it('validating getCheckOutStatusKindByUserID - with "UserID" with configuration set', () => {
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);
56 it('validating isCheckedOutByCurrentUser - when resource is not checked out', () => {
57 const resource = VersionControllerUtilsFactory.build({status: statusEnum.SUBMIT_STATUS});
59 Configuration.set('UserID', currentUser);
60 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
61 Configuration.set('UserID', undefined);
63 expect(result).toBe(false);
66 it('validating isCheckedOutByCurrentUser - when resource is checked out', () => {
67 const resource = VersionControllerUtilsFactory.build();
69 Configuration.set('UserID', currentUser);
70 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
71 Configuration.set('UserID', undefined);
73 expect(result).toBe(true);
76 it('validating isCheckedOutByCurrentUser - when resource is checked out by another user', () => {
77 const resource = VersionControllerUtilsFactory.build({lockingUser: 'another'});
79 Configuration.set('UserID', currentUser);
80 const result = VersionControllerUtils.isCheckedOutByCurrentUser(resource);
81 Configuration.set('UserID', undefined);
83 expect(result).toBe(false);
88 it('validating isReadOnly - when resource is not checked out', () => {
89 const resource = VersionControllerUtilsFactory.build({status: statusEnum.SUBMIT_STATUS});
91 Configuration.set('UserID', currentUser);
92 const result = VersionControllerUtils.isReadOnly(resource);
93 Configuration.set('UserID', undefined);
95 expect(result).toBe(true);
98 it('validating isReadOnly - when resource is checked out', () => {
99 const resource = VersionControllerUtilsFactory.build();
101 Configuration.set('UserID', currentUser);
102 const result = VersionControllerUtils.isReadOnly(resource);
103 Configuration.set('UserID', undefined);
105 expect(result).toBe(false);
108 it('validating isReadOnly - when version of resource is not latest', () => {
110 const resource = VersionControllerUtilsFactory.build({version: defaultVersions[defaultVersions.length - 2]});
112 Configuration.set('UserID', currentUser);
113 const result = VersionControllerUtils.isReadOnly(resource);
114 Configuration.set('UserID', undefined);
116 expect(result).toBe(true);
119 it('validating isReadOnly - when resource is checked out by another user', () => {
120 const resource = VersionControllerUtilsFactory.build({lockingUser: 'another'});
122 Configuration.set('UserID', currentUser);
123 const result = VersionControllerUtils.isReadOnly(resource);
124 Configuration.set('UserID', undefined);
126 expect(result).toBe(true);