2 * ================================================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property
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 * ================================================================================
23 //describe('Controller: NewAdminCtrl ', () => {
24 // beforeEach(module('ecompApp'));
26 // //destroy $http default cache before starting to prevent the error 'default cache already exists'
27 // beforeEach(inject((_CacheFactory_)=> {
28 // _CacheFactory_.destroyAll();
32 // let newCtrl, $controller, $q, $rootScope, $log;
34 // beforeEach(inject((_$controller_, _$q_, _$rootScope_, _$log_)=> {
35 // [$controller, $q, $rootScope, $log] = [_$controller_, _$q_, _$rootScope_, _$log_];
38 // let deferredUsersList, deferredAdminAppsRoles, deferredUpdateRolesRes;
39 // let usersServiceMock, adminsServiceMock;
41 // [deferredUsersList, deferredAdminAppsRoles, deferredUpdateRolesRes] = [$q.defer(), $q.defer(), $q.defer()];
43 // //usersServiceMock = jasmine.createSpyObj('usersServiceMock', ['searchUsers']);
44 // usersServiceMock = {
45 // searchUsers: () => {
46 // var promise = () => {return deferredUsersList.promise};
47 // var cancel = jasmine.createSpy();
55 // adminsServiceMock = jasmine.createSpyObj('adminsServiceMock', ['getAdminAppsRoles', 'updateAdminAppsRoles']);
57 // //usersServiceMock.searchUsers.and.returnValue(deferredUsersList.promise);
58 // adminsServiceMock.getAdminAppsRoles.and.returnValue(deferredAdminAppsRoles.promise);
59 // adminsServiceMock.updateAdminAppsRoles.and.returnValue(deferredUpdateRolesRes.promise);
61 // newCtrl = $controller('NewAdminModalCtrl', {
63 // usersService: usersServiceMock,
64 // adminsService: adminsServiceMock,
69 // it('should init default values when loading the controller', ()=> {
70 // //expect(newCtrl.searchUsersInProgress).toBe(false);
71 // expect(newCtrl.dialogState).toBe(1);
72 // expect(newCtrl.selectedUser).toBe(null);
75 // it('should populate retrieved users when search users service returns a list ', ()=> {
76 // //spyOn(usersServiceMock, 'searchUsers');
77 // let usersListRes = [{user: 1}, {user: 2}];
78 // newCtrl.searchUserString = 'some user name';
79 // deferredUsersList.resolve(usersListRes);
80 // newCtrl.searchUsers();
81 // $rootScope.$apply();
83 // //expect(usersServiceMock.searchUsers).toHaveBeenCalledWith(newCtrl.searchUserString);
84 // expect(newCtrl.searchUsersResults).toEqual(usersListRes);
85 // expect(newCtrl.searchUsersInProgress).toBe(false);
88 // it('should log the error when search users fails', ()=> {
89 // spyOn($log, 'error');
90 // deferredUsersList.reject('oh snap!');
91 // newCtrl.searchUsers();
92 // $rootScope.$apply();
93 // expect($log.error).toHaveBeenCalled();
96 // it('should populate admin apps roles and move to the next screen when adminsService.getAdminAppsRoles succeeded', ()=> {
97 // let userApps = {appsRoles: [{id: 1, isAdmin: false}, {id: 2, isAdmin: true}]};
98 // deferredAdminAppsRoles.resolve(userApps);
100 // newCtrl.searchUsersInProgress = false;
101 // newCtrl.selectedUser = {userId: 'userId'};
103 // newCtrl.getAdminAppsRoles();
104 // $rootScope.$apply();
106 // expect(adminsServiceMock.getAdminAppsRoles).toHaveBeenCalledWith(newCtrl.selectedUser.userId);
107 // expect(newCtrl.adminAppsRoles).toEqual(userApps.appsRoles);
108 // expect(newCtrl.dialogState).toBe(2);
111 // it('should log the error when adminsService.getAdminAppsRoles fails', ()=> {
112 // spyOn($log, 'error');
113 // deferredAdminAppsRoles.reject('some error');
115 // newCtrl.searchUsersInProgress = false;
116 // newCtrl.selectedUser = {userId: 'userId'};
118 // newCtrl.getAdminAppsRoles();
119 // $rootScope.$apply();
121 // expect($log.error).toHaveBeenCalled();
123 // it('should log the error when trying to getAdminAppsRoles without selecting user ', ()=> {
124 // spyOn($log, 'error');
126 // newCtrl.searchUsersInProgress = false;
127 // newCtrl.selectedUser = null;
129 // newCtrl.getAdminAppsRoles();
130 // $rootScope.$apply();
132 // expect($log.error).toHaveBeenCalled();
134 // //it('should setSelectedUser when choosing user', ()=> {
137 // //it('should set isAdmin as false when removing app from the administrated apps list', ()=> {
139 // it('should set isAdmin as true when adding app via the dropdown menu', ()=> {
140 // newCtrl.adminAppsRoles = [{id: 1, isAdmin: false},{id: 2, isAdmin: true}];
141 // //simulate UI change
142 // $rootScope.$apply('newAdmin.selectedNewApp = null');
143 // $rootScope.$apply('newAdmin.selectedNewApp = {id: 1, isAdmin: true}');
145 // expect(newCtrl.adminAppsRoles[0].isAdmin).toBe(true);
146 // expect(newCtrl.selectedNewApp).toBe(null);
149 // it('should close the modal when updating apps roles succeeded', ()=> {
150 // $rootScope.closeThisDialog = () => {};
151 // spyOn($rootScope,'closeThisDialog');
153 // newCtrl.selectedUser = {userId: 'userId'};
154 // newCtrl.adminAppsRoles = [{id: 1}];
156 // deferredUpdateRolesRes.resolve();
157 // newCtrl.updateAdminAppsRoles();
158 // $rootScope.$apply();
160 // expect(adminsServiceMock.updateAdminAppsRoles).toHaveBeenCalledWith({userId: newCtrl.selectedUser.userId, appsRoles: newCtrl.adminAppsRoles});
161 // expect($rootScope.closeThisDialog).toHaveBeenCalled();
163 // it('should log the error when updating apps roles fails', ()=> {
164 // newCtrl.selectedUser = {userId: 'userId'};
165 // newCtrl.adminAppsRoles = [{id: 1}];
167 // spyOn($log,'error');
168 // deferredUpdateRolesRes.reject();
169 // newCtrl.updateAdminAppsRoles();
170 // $rootScope.$apply();
171 // expect($log.error).toHaveBeenCalled();
173 // //it('should display the add admin dropdown when clicking the add button', ()=> {