X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-FE-common%2Fclient%2Fapp%2Fviews%2Fadmins%2Fadd-admin-dialogs%2Fnew-admin.controller.spec.js;h=c6011d184bdc61c9ed040520fc193a9dde896c2c;hb=refs%2Fchanges%2F85%2F4985%2F2;hp=540459eda3679ef1a785c07586bbc43def50b6f8;hpb=ba838f2e13f1e8050c75e68bd3733d56d8f416d5;p=portal.git diff --git a/ecomp-portal-FE-common/client/app/views/admins/add-admin-dialogs/new-admin.controller.spec.js b/ecomp-portal-FE-common/client/app/views/admins/add-admin-dialogs/new-admin.controller.spec.js index 540459ed..c6011d18 100644 --- a/ecomp-portal-FE-common/client/app/views/admins/add-admin-dialogs/new-admin.controller.spec.js +++ b/ecomp-portal-FE-common/client/app/views/admins/add-admin-dialogs/new-admin.controller.spec.js @@ -1,134 +1,134 @@ -/*- - * ================================================================================ - * ECOMP Portal - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -/** - * Created by nnaffar on 12/8/15. - */ -'use strict'; - -describe('Controller: NewAdminCtrl ', () => { - beforeEach(module('ecompApp')); - - //destroy $http default cache before starting to prevent the error 'default cache already exists' - beforeEach(inject((_CacheFactory_)=> { - _CacheFactory_.destroyAll(); - })); - - - let newCtrl, $controller, $q, $rootScope, $log; - - beforeEach(inject((_$controller_, _$q_, _$rootScope_, _$log_)=> { - [$controller, $q, $rootScope, $log] = [_$controller_, _$q_, _$rootScope_, _$log_]; - })); - - let deferredAdminAppsRoles, deferredUpdateRolesRes; - let adminsServiceMock; - beforeEach(()=> { - [deferredAdminAppsRoles, deferredUpdateRolesRes] = [$q.defer(), $q.defer()]; - - adminsServiceMock = jasmine.createSpyObj('adminsServiceMock', ['getAdminAppsRoles', 'updateAdminAppsRoles']); - - adminsServiceMock.getAdminAppsRoles.and.returnValue(deferredAdminAppsRoles.promise); - adminsServiceMock.updateAdminAppsRoles.and.returnValue(deferredUpdateRolesRes.promise); - - newCtrl = $controller('NewAdminModalCtrl', { - $log: $log, - adminsService: adminsServiceMock, - $scope: $rootScope - }); - }); - - it('should init default values when loading the controller', ()=> { - expect(newCtrl.dialogState).toBe(1); - expect(newCtrl.selectedUser).toBe(null); - }); - - it('should populate admin apps roles and move to the next screen when adminsService.getAdminAppsRoles succeeded', ()=> { - let userApps = {appsRoles: [{id: 1, isAdmin: false}, {id: 2, isAdmin: true}]}; - deferredAdminAppsRoles.resolve(userApps); - - newCtrl.selectedUser = {orgUserId: 'orgUserId'}; - - newCtrl.getAdminAppsRoles(); - $rootScope.$apply(); - - expect(adminsServiceMock.getAdminAppsRoles).toHaveBeenCalledWith(newCtrl.selectedUser.orgUserId); - expect(newCtrl.adminAppsRoles).toEqual(userApps.appsRoles); - expect(newCtrl.dialogState).toBe(2); - }); - - it('should log the error when adminsService.getAdminAppsRoles fails', ()=> { - spyOn($log, 'error'); - deferredAdminAppsRoles.reject('some error'); - - newCtrl.searchUsersInProgress = false; - newCtrl.selectedUser = {orgUserId: 'orgUserId'}; - - newCtrl.getAdminAppsRoles(); - $rootScope.$apply(); - - expect($log.error).toHaveBeenCalled(); - }); - it('should log the error when trying to getAdminAppsRoles without selecting user ', ()=> { - spyOn($log, 'error'); - - newCtrl.searchUsersInProgress = false; - newCtrl.selectedUser = null; - - newCtrl.getAdminAppsRoles(); - $rootScope.$apply(); - - expect($log.error).toHaveBeenCalled(); - }); - - it('should set isAdmin as true when adding app via the dropdown menu', ()=> { - newCtrl.adminAppsRoles = [{id: 1, isAdmin: false},{id: 2, isAdmin: true}]; - //simulate UI change - $rootScope.$apply('newAdmin.selectedNewApp = null'); - $rootScope.$apply('newAdmin.selectedNewApp = {id: 1, isAdmin: true}'); - - expect(newCtrl.adminAppsRoles[0].isAdmin).toBe(true); - expect(newCtrl.selectedNewApp).toBe(null); - }); - - it('should close the modal when updating apps roles succeeded', ()=> { - $rootScope.closeThisDialog = () => {}; - spyOn($rootScope,'closeThisDialog'); - - newCtrl.selectedUser = {orgUserId: 'orgUserId'}; - newCtrl.adminAppsRoles = [{id: 1}]; - - deferredUpdateRolesRes.resolve(); - newCtrl.updateAdminAppsRoles(); - $rootScope.$apply(); - - expect(adminsServiceMock.updateAdminAppsRoles).toHaveBeenCalledWith({orgUserId: newCtrl.selectedUser.orgUserId, appsRoles: newCtrl.adminAppsRoles}); - expect($rootScope.closeThisDialog).toHaveBeenCalled(); - }); - it('should log the error when updating apps roles fails', ()=> { - newCtrl.selectedUser = {orgUserId: 'orgUserId'}; - newCtrl.adminAppsRoles = [{id: 1}]; - - spyOn($log,'error'); - deferredUpdateRolesRes.reject(); - newCtrl.updateAdminAppsRoles(); - $rootScope.$apply(); - expect($log.error).toHaveBeenCalled(); - }); -}); +/*- + * ================================================================================ + * ECOMP Portal + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ================================================================================ + */ +/** + * Created by nnaffar on 12/8/15. + */ +'use strict'; + +describe('Controller: NewAdminCtrl ', () => { + beforeEach(module('ecompApp')); + + //destroy $http default cache before starting to prevent the error 'default cache already exists' + beforeEach(inject((_CacheFactory_)=> { + _CacheFactory_.destroyAll(); + })); + + + let newCtrl, $controller, $q, $rootScope, $log; + + beforeEach(inject((_$controller_, _$q_, _$rootScope_, _$log_)=> { + [$controller, $q, $rootScope, $log] = [_$controller_, _$q_, _$rootScope_, _$log_]; + })); + + let deferredAdminAppsRoles, deferredUpdateRolesRes; + let adminsServiceMock; + beforeEach(()=> { + [deferredAdminAppsRoles, deferredUpdateRolesRes] = [$q.defer(), $q.defer()]; + + adminsServiceMock = jasmine.createSpyObj('adminsServiceMock', ['getAdminAppsRoles', 'updateAdminAppsRoles']); + + adminsServiceMock.getAdminAppsRoles.and.returnValue(deferredAdminAppsRoles.promise); + adminsServiceMock.updateAdminAppsRoles.and.returnValue(deferredUpdateRolesRes.promise); + + newCtrl = $controller('NewAdminModalCtrl', { + $log: $log, + adminsService: adminsServiceMock, + $scope: $rootScope + }); + }); + + it('should init default values when loading the controller', ()=> { + expect(newCtrl.dialogState).toBe(1); + expect(newCtrl.selectedUser).toBe(null); + }); + + it('should populate admin apps roles and move to the next screen when adminsService.getAdminAppsRoles succeeded', ()=> { + let userApps = {appsRoles: [{id: 1, isAdmin: false}, {id: 2, isAdmin: true}]}; + deferredAdminAppsRoles.resolve(userApps); + + newCtrl.selectedUser = {orgUserId: 'orgUserId'}; + + newCtrl.getAdminAppsRoles(); + $rootScope.$apply(); + + expect(adminsServiceMock.getAdminAppsRoles).toHaveBeenCalledWith(newCtrl.selectedUser.orgUserId); + expect(newCtrl.adminAppsRoles).toEqual(userApps.appsRoles); + expect(newCtrl.dialogState).toBe(2); + }); + + it('should log the error when adminsService.getAdminAppsRoles fails', ()=> { + spyOn($log, 'error'); + deferredAdminAppsRoles.reject('some error'); + + newCtrl.searchUsersInProgress = false; + newCtrl.selectedUser = {orgUserId: 'orgUserId'}; + + newCtrl.getAdminAppsRoles(); + $rootScope.$apply(); + + expect($log.error).toHaveBeenCalled(); + }); + it('should log the error when trying to getAdminAppsRoles without selecting user ', ()=> { + spyOn($log, 'error'); + + newCtrl.searchUsersInProgress = false; + newCtrl.selectedUser = null; + + newCtrl.getAdminAppsRoles(); + $rootScope.$apply(); + + expect($log.error).toHaveBeenCalled(); + }); + + it('should set isAdmin as true when adding app via the dropdown menu', ()=> { + newCtrl.adminAppsRoles = [{id: 1, isAdmin: false},{id: 2, isAdmin: true}]; + //simulate UI change + $rootScope.$apply('newAdmin.selectedNewApp = null'); + $rootScope.$apply('newAdmin.selectedNewApp = {id: 1, isAdmin: true}'); + + expect(newCtrl.adminAppsRoles[0].isAdmin).toBe(true); + expect(newCtrl.selectedNewApp).toBe(null); + }); + + it('should close the modal when updating apps roles succeeded', ()=> { + $rootScope.closeThisDialog = () => {}; + spyOn($rootScope,'closeThisDialog'); + + newCtrl.selectedUser = {orgUserId: 'orgUserId'}; + newCtrl.adminAppsRoles = [{id: 1}]; + + deferredUpdateRolesRes.resolve(); + newCtrl.updateAdminAppsRoles(); + $rootScope.$apply(); + + expect(adminsServiceMock.updateAdminAppsRoles).toHaveBeenCalledWith({orgUserId: newCtrl.selectedUser.orgUserId, appsRoles: newCtrl.adminAppsRoles}); + expect($rootScope.closeThisDialog).toHaveBeenCalled(); + }); + it('should log the error when updating apps roles fails', ()=> { + newCtrl.selectedUser = {orgUserId: 'orgUserId'}; + newCtrl.adminAppsRoles = [{id: 1}]; + + spyOn($log,'error'); + deferredUpdateRolesRes.reject(); + newCtrl.updateAdminAppsRoles(); + $rootScope.$apply(); + expect($log.error).toHaveBeenCalled(); + }); +});