[PORTAL-7] Rebase
[portal.git] / ecomp-portal-FE-common / client / app / directives / search-users / search-users.controller.spec.js
1 /*-
2  * ================================================================================
3  * eCOMP Portal
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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  * ================================================================================
19  */
20
21 //'use strict';
22 //
23 //describe('Controller: NewAdminCtrl ', () => {
24 //    beforeEach(module('ecompApp'));
25 //
26 //    //destroy $http default cache before starting to prevent the error 'default cache already exists'
27 //    beforeEach(inject((_CacheFactory_)=> {
28 //        _CacheFactory_.destroyAll();
29 //    }));
30 //
31 //
32 //    let newCtrl, $controller, $q, $rootScope, $log;
33 //
34 //    beforeEach(inject((_$controller_, _$q_, _$rootScope_, _$log_)=> {
35 //        [$controller, $q, $rootScope, $log] = [_$controller_, _$q_, _$rootScope_, _$log_];
36 //    }));
37 //
38 //    let deferredUsersList, deferredAdminAppsRoles, deferredUpdateRolesRes;
39 //    let usersServiceMock, adminsServiceMock;
40 //    beforeEach(()=> {
41 //        [deferredUsersList, deferredAdminAppsRoles, deferredUpdateRolesRes] = [$q.defer(), $q.defer(), $q.defer()];
42 //
43 //        //usersServiceMock = jasmine.createSpyObj('usersServiceMock', ['searchUsers']);
44 //        usersServiceMock = {
45 //            searchUsers: () => {
46 //                var promise = () => {return deferredUsersList.promise};
47 //                var cancel = jasmine.createSpy();
48 //                return {
49 //                    promise: promise,
50 //                    cancel: cancel
51 //                }
52 //            }
53 //        };
54 //
55 //        adminsServiceMock = jasmine.createSpyObj('adminsServiceMock', ['getAdminAppsRoles', 'updateAdminAppsRoles']);
56 //
57 //        //usersServiceMock.searchUsers.and.returnValue(deferredUsersList.promise);
58 //        adminsServiceMock.getAdminAppsRoles.and.returnValue(deferredAdminAppsRoles.promise);
59 //        adminsServiceMock.updateAdminAppsRoles.and.returnValue(deferredUpdateRolesRes.promise);
60 //
61 //        newCtrl = $controller('NewAdminModalCtrl', {
62 //            $log: $log,
63 //            usersService: usersServiceMock,
64 //            adminsService: adminsServiceMock,
65 //            $scope: $rootScope
66 //        });
67 //    });
68 //
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);
73 //    });
74 //
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 att user name';
79 //        deferredUsersList.resolve(usersListRes);
80 //        newCtrl.searchUsers();
81 //        $rootScope.$apply();
82 //
83 //        //expect(usersServiceMock.searchUsers).toHaveBeenCalledWith(newCtrl.searchUserString);
84 //        expect(newCtrl.searchUsersResults).toEqual(usersListRes);
85 //        expect(newCtrl.searchUsersInProgress).toBe(false);
86 //    });
87 //
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();
94 //    });
95 //
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);
99 //
100 //        newCtrl.searchUsersInProgress = false;
101 //        newCtrl.selectedUser = {orgUserId: 'orgUserId'};
102 //
103 //        newCtrl.getAdminAppsRoles();
104 //        $rootScope.$apply();
105 //
106 //        expect(adminsServiceMock.getAdminAppsRoles).toHaveBeenCalledWith(newCtrl.selectedUser.orgUserId);
107 //        expect(newCtrl.adminAppsRoles).toEqual(userApps.appsRoles);
108 //        expect(newCtrl.dialogState).toBe(2);
109 //    });
110 //
111 //    it('should  log the error when adminsService.getAdminAppsRoles fails', ()=> {
112 //        spyOn($log, 'error');
113 //        deferredAdminAppsRoles.reject('some error');
114 //
115 //        newCtrl.searchUsersInProgress = false;
116 //        newCtrl.selectedUser = {orgUserId: 'orgUserId'};
117 //
118 //        newCtrl.getAdminAppsRoles();
119 //        $rootScope.$apply();
120 //
121 //        expect($log.error).toHaveBeenCalled();
122 //    });
123 //    it('should  log the error when trying to getAdminAppsRoles without selecting user ', ()=> {
124 //        spyOn($log, 'error');
125 //
126 //        newCtrl.searchUsersInProgress = false;
127 //        newCtrl.selectedUser = null;
128 //
129 //        newCtrl.getAdminAppsRoles();
130 //        $rootScope.$apply();
131 //
132 //        expect($log.error).toHaveBeenCalled();
133 //    });
134 //    //it('should setSelectedUser when choosing user', ()=> {
135 //    //
136 //    //});
137 //    //it('should set isAdmin as false when removing app from the administrated apps list', ()=> {
138 //    //});
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}');
144 //
145 //        expect(newCtrl.adminAppsRoles[0].isAdmin).toBe(true);
146 //        expect(newCtrl.selectedNewApp).toBe(null);
147 //    });
148 //
149 //    it('should close the modal when updating apps roles succeeded', ()=> {
150 //        $rootScope.closeThisDialog = () => {};
151 //        spyOn($rootScope,'closeThisDialog');
152 //
153 //        newCtrl.selectedUser = {orgUserId: 'orgUserId'};
154 //        newCtrl.adminAppsRoles = [{id: 1}];
155 //
156 //        deferredUpdateRolesRes.resolve();
157 //        newCtrl.updateAdminAppsRoles();
158 //        $rootScope.$apply();
159 //
160 //        expect(adminsServiceMock.updateAdminAppsRoles).toHaveBeenCalledWith({orgUserId: newCtrl.selectedUser.orgUserId, appsRoles: newCtrl.adminAppsRoles});
161 //        expect($rootScope.closeThisDialog).toHaveBeenCalled();
162 //    });
163 //    it('should log the error when updating apps roles fails', ()=> {
164 //        newCtrl.selectedUser = {orgUserId: 'orgUserId'};
165 //        newCtrl.adminAppsRoles = [{id: 1}];
166 //
167 //        spyOn($log,'error');
168 //        deferredUpdateRolesRes.reject();
169 //        newCtrl.updateAdminAppsRoles();
170 //        $rootScope.$apply();
171 //        expect($log.error).toHaveBeenCalled();
172 //    });
173 //    //it('should display the add admin dropdown when clicking the add button', ()=> {
174 //    //});
175 //
176 //});