From e2283acc85a7d1af025bd7de2a229641a8efaf80 Mon Sep 17 00:00:00 2001 From: Amedeo Lepore Date: Mon, 20 Mar 2023 17:33:26 +0100 Subject: [PATCH] [AAE-12501] Fix core unit tests --- .../services/identity-group.service.spec.ts | 39 ++++++-------- .../services/identity-user.service.spec.ts | 53 ++++++++----------- 2 files changed, 39 insertions(+), 53 deletions(-) diff --git a/lib/core/src/lib/auth/services/identity-group.service.spec.ts b/lib/core/src/lib/auth/services/identity-group.service.spec.ts index 2d25f4f925..b9dd28b1fb 100644 --- a/lib/core/src/lib/auth/services/identity-group.service.spec.ts +++ b/lib/core/src/lib/auth/services/identity-group.service.spec.ts @@ -17,7 +17,6 @@ import { fakeAsync, TestBed } from '@angular/core/testing'; import { setupTestBed } from '../../testing/setup-test-bed'; -import { AlfrescoApiService } from './../../services/alfresco-api.service'; import { IdentityGroupService } from './identity-group.service'; import { HttpErrorResponse } from '@angular/common/http'; import { throwError, of } from 'rxjs'; @@ -25,23 +24,18 @@ import { mockIdentityRoles, clientRoles, mockIdentityGroup1, - mockIdentityGroupsCount + mockIdentityGroupsCount, + mockIdentityGroups, + roleMappingMock } from '../mock/identity-group.mock'; import { CoreTestingModule } from '../../testing/core.testing.module'; import { TranslateModule } from '@ngx-translate/core'; -import { - applicationDetailsMockApi, - createGroupMappingApi, - deleteGroupMappingApi, - groupsMockApi, - noRoleMappingApi, - roleMappingApi, - updateGroupMappingApi -} from '../mock/oauth2.service.mock'; +import { AdfHttpClient } from '../../../../api/src'; describe('IdentityGroupService', () => { let service: IdentityGroupService; - let apiService: AlfrescoApiService; + let adfHttpClient: AdfHttpClient; + let requestSpy: jasmine.Spy; setupTestBed({ imports: [ @@ -52,11 +46,12 @@ describe('IdentityGroupService', () => { beforeEach(fakeAsync(() => { service = TestBed.inject(IdentityGroupService); - apiService = TestBed.inject(AlfrescoApiService); + adfHttpClient = TestBed.inject(AdfHttpClient); + requestSpy = spyOn(adfHttpClient, 'request'); })); it('should be able to fetch groups based on group name', (done) => { - spyOn(apiService, 'getInstance').and.returnValue(groupsMockApi); + requestSpy.and.returnValue(Promise.resolve(mockIdentityGroups)); service.findGroupsByName({name: 'mock'}).subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -72,7 +67,7 @@ describe('IdentityGroupService', () => { }); it('should return true if group has client role mapping', (done) => { - spyOn(apiService, 'getInstance').and.returnValue(roleMappingApi); + requestSpy.and.returnValue(Promise.resolve(roleMappingMock)); service.checkGroupHasClientApp('mock-group-id', 'mock-app-id').subscribe((hasRole) => { expect(hasRole).toBeDefined(); expect(hasRole).toBe(true); @@ -81,7 +76,7 @@ describe('IdentityGroupService', () => { }); it('should return false if group does not have client role mapping', (done) => { - spyOn(apiService, 'getInstance').and.returnValue(noRoleMappingApi); + requestSpy.and.returnValue(Promise.resolve([])); service.checkGroupHasClientApp('mock-group-id', 'mock-app-id').subscribe((hasRole) => { expect(hasRole).toBeDefined(); expect(hasRole).toBe(false); @@ -226,7 +221,7 @@ describe('IdentityGroupService', () => { }); it('should be able to fetch the client id', (done) => { - spyOn(apiService, 'getInstance').and.returnValue(applicationDetailsMockApi); + requestSpy.and.returnValue(Promise.resolve([{id: 'mock-app-id', name: 'mock-app-name'}])); service.getClientIdByApplicationName('mock-app-name').subscribe((clientId) => { expect(clientId).toBeDefined(); expect(clientId).not.toBeNull(); @@ -236,7 +231,7 @@ describe('IdentityGroupService', () => { }); it('should be able to all fetch groups', (done) => { - spyOn(apiService, 'getInstance').and.returnValue(groupsMockApi); + requestSpy.and.returnValue(Promise.resolve(mockIdentityGroups)); service.getGroups().subscribe((res) => { expect(res.length).toBe(5); expect(res[0].id).toBe('mock-group-id-1'); @@ -273,7 +268,7 @@ describe('IdentityGroupService', () => { it('should be able to query groups based on first & max params', (done) => { spyOn(service, 'getTotalGroupsCount').and.returnValue(of(mockIdentityGroupsCount)); - spyOn(apiService, 'getInstance').and.returnValue(groupsMockApi); + requestSpy.and.returnValue(Promise.resolve(mockIdentityGroups)); service.queryGroups({first: 0, max: 5}).subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -314,7 +309,7 @@ describe('IdentityGroupService', () => { }); it('should be able to create group', (done) => { - const createCustomApiSpy = spyOn(apiService, 'getInstance').and.returnValue(createGroupMappingApi); + const createCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.createGroup(mockIdentityGroup1).subscribe(() => { expect(createCustomApiSpy).toHaveBeenCalled(); done(); @@ -344,7 +339,7 @@ describe('IdentityGroupService', () => { }); it('should be able to update group', (done) => { - const updateCustomApiSpy = spyOn(apiService, 'getInstance').and.returnValue(updateGroupMappingApi); + const updateCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.updateGroup('mock-group-id', mockIdentityGroup1).subscribe(() => { expect(updateCustomApiSpy).toHaveBeenCalled(); done(); @@ -374,7 +369,7 @@ describe('IdentityGroupService', () => { }); it('should be able to delete group', (done) => { - const deleteCustomApiSpy = spyOn(apiService, 'getInstance').and.returnValue(deleteGroupMappingApi); + const deleteCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.deleteGroup('mock-group-id').subscribe(() => { expect(deleteCustomApiSpy).toHaveBeenCalled(); done(); diff --git a/lib/core/src/lib/auth/services/identity-user.service.spec.ts b/lib/core/src/lib/auth/services/identity-user.service.spec.ts index 05568b5cdb..5e6da387a7 100644 --- a/lib/core/src/lib/auth/services/identity-user.service.spec.ts +++ b/lib/core/src/lib/auth/services/identity-user.service.spec.ts @@ -22,31 +22,20 @@ import { mockIdentityUser1, mockIdentityUser2, mockIdentityRole, - mockIdentityUsers + mockIdentityUsers, + mockAssignedRoles, + mockAvailableRoles, + mockEffectiveRoles } from '../mock/identity-user.mock'; -import { mockJoinGroupRequest } from '../mock/identity-group.mock'; +import { mockGroups, mockJoinGroupRequest } from '../mock/identity-group.mock'; import { IdentityUserService } from './identity-user.service'; import { JwtHelperService } from './jwt-helper.service'; import { setupTestBed } from '../../testing/setup-test-bed'; -import { AlfrescoApiService } from '../../services/alfresco-api.service'; import { mockToken } from '../mock/jwt-helper.service.spec'; import { IdentityRoleModel } from '../models/identity-role.model'; import { CoreTestingModule } from '../../testing/core.testing.module'; import { TranslateModule } from '@ngx-translate/core'; -import { - assignRolesMockApi, - createUserMockApi, - deleteUserMockApi, - getAssignedRolesMockApi, - getAvailableRolesMockApi, - getEffectiveRolesMockApi, - getInvolvedGroupsMockApi, - joinGroupMockApi, - leaveGroupMockApi, - queryUsersMockApi, - removeRolesMockApi, - updateUserMockApi -} from '../mock/oauth2.service.mock'; +import { AdfHttpClient } from '../../../../api/src'; describe('IdentityUserService', () => { @@ -59,7 +48,8 @@ describe('IdentityUserService', () => { ]; let service: IdentityUserService; - let alfrescoApiService: AlfrescoApiService; + let adfHttpClient: AdfHttpClient; + let requestSpy: jasmine.Spy; setupTestBed({ imports: [ @@ -70,7 +60,8 @@ describe('IdentityUserService', () => { beforeEach(() => { service = TestBed.inject(IdentityUserService); - alfrescoApiService = TestBed.inject(AlfrescoApiService); + adfHttpClient = TestBed.inject(AdfHttpClient); + requestSpy = spyOn(adfHttpClient, 'request'); }); beforeEach(() => { @@ -297,7 +288,7 @@ describe('IdentityUserService', () => { }); it('should be able to query users based on query params (first & max params)', (done) => { - spyOn(alfrescoApiService, 'getInstance').and.returnValue(queryUsersMockApi); + requestSpy.and.returnValue(Promise.resolve(mockIdentityUsers)); service.queryUsers({first: 0, max: 5}).subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -335,7 +326,7 @@ describe('IdentityUserService', () => { }); it('should be able to create user', (done) => { - const createCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(createUserMockApi); + const createCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.createUser(mockIdentityUser1).subscribe(() => { expect(createCustomApiSpy).toHaveBeenCalled(); done(); @@ -365,7 +356,7 @@ describe('IdentityUserService', () => { }); it('should be able to update user', (done) => { - const updateCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(updateUserMockApi); + const updateCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.updateUser('mock-id-2', mockIdentityUser2).subscribe(() => { expect(updateCustomApiSpy).toHaveBeenCalled(); done(); @@ -395,7 +386,7 @@ describe('IdentityUserService', () => { }); it('should be able to delete group', (done) => { - const deleteCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(deleteUserMockApi); + const deleteCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.deleteUser('mock-user-id').subscribe(() => { expect(deleteCustomApiSpy).toHaveBeenCalled(); done(); @@ -425,7 +416,7 @@ describe('IdentityUserService', () => { }); it('should be able to fetch involved groups based on user id', (done) => { - spyOn(alfrescoApiService, 'getInstance').and.returnValue(getInvolvedGroupsMockApi); + requestSpy.and.returnValue(Promise.resolve(mockGroups)); service.getInvolvedGroups('mock-user-id').subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -461,7 +452,7 @@ describe('IdentityUserService', () => { }); it('should be able to join the group', (done) => { - const joinGroupCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(joinGroupMockApi); + const joinGroupCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.joinGroup(mockJoinGroupRequest).subscribe(() => { expect(joinGroupCustomApiSpy).toHaveBeenCalled(); done(); @@ -491,7 +482,7 @@ describe('IdentityUserService', () => { }); it('should be able to leave the group', (done) => { - const leaveGroupCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(leaveGroupMockApi); + const leaveGroupCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.leaveGroup('mock-user-id', 'mock-group-id').subscribe(() => { expect(leaveGroupCustomApiSpy).toHaveBeenCalled(); done(); @@ -521,7 +512,7 @@ describe('IdentityUserService', () => { }); it('should be able to fetch available roles based on user id', (done) => { - spyOn(alfrescoApiService, 'getInstance').and.returnValue(getAvailableRolesMockApi); + requestSpy.and.returnValue(Promise.resolve(mockAvailableRoles)); service.getAvailableRoles('mock-user-id').subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -559,7 +550,7 @@ describe('IdentityUserService', () => { }); it('should be able to fetch assigned roles based on user id', (done) => { - spyOn(alfrescoApiService, 'getInstance').and.returnValue(getAssignedRolesMockApi); + requestSpy.and.returnValue(Promise.resolve(mockAssignedRoles)); service.getAssignedRoles('mock-user-id').subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -597,7 +588,7 @@ describe('IdentityUserService', () => { }); it('should be able to fetch effective roles based on user id', (done) => { - spyOn(alfrescoApiService, 'getInstance').and.returnValue(getEffectiveRolesMockApi); + requestSpy.and.returnValue(Promise.resolve(mockEffectiveRoles)); service.getEffectiveRoles('mock-user-id').subscribe((res) => { expect(res).toBeDefined(); expect(res).not.toBeNull(); @@ -635,7 +626,7 @@ describe('IdentityUserService', () => { }); it('should be able to assign roles to the user', (done) => { - const assignRolesCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(assignRolesMockApi); + const assignRolesCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.assignRoles('mock-user-id', [mockIdentityRole]).subscribe(() => { expect(assignRolesCustomApiSpy).toHaveBeenCalled(); done(); @@ -665,7 +656,7 @@ describe('IdentityUserService', () => { }); it('should be able to remove roles', (done) => { - const removeRolesCustomApiSpy = spyOn(alfrescoApiService, 'getInstance').and.returnValue(removeRolesMockApi); + const removeRolesCustomApiSpy = requestSpy.and.returnValue(Promise.resolve()); service.removeRoles('mock-user-id', [mockIdentityRole]).subscribe(() => { expect(removeRolesCustomApiSpy).toHaveBeenCalled(); done();