[ACS-6576] Local storage prefix is not always created/updated properly in ADW (#3602)

* [ACS-6576] set local storage prefix

* [ACS-6576] remove redundant async
This commit is contained in:
Mykyta Maliarchuk 2024-01-16 10:01:46 +01:00 committed by GitHub
parent dc2c7c9109
commit c77528c530
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 3 deletions

View File

@ -31,7 +31,8 @@ import {
PageTitleService,
AlfrescoApiServiceMock,
TranslationMock,
TranslationService
TranslationService,
UserPreferencesService
} from '@alfresco/adf-core';
import { BehaviorSubject, Observable, of, Subject } from 'rxjs';
import { HttpClientModule } from '@angular/common/http';
@ -66,6 +67,7 @@ describe('AppService', () => {
let sharedLinksApiService: SharedLinksApiService;
let contentApi: ContentApiService;
let groupService: GroupService;
let preferencesService: UserPreferencesService;
beforeEach(() => {
TestBed.configureTestingModule({
@ -110,10 +112,12 @@ describe('AppService', () => {
useValue: {
onLogin: new Subject<any>(),
onLogout: new Subject<any>(),
isLoggedIn: () => false
isLoggedIn: () => false,
getUsername: () => null
}
},
{ provide: TranslationService, useClass: TranslationMock }
{ provide: TranslationService, useClass: TranslationMock },
{ provide: UserPreferencesService, useValue: { setStoragePrefix: () => null } }
]
});
@ -126,6 +130,7 @@ describe('AppService', () => {
contentApi = TestBed.inject(ContentApiService);
groupService = TestBed.inject(GroupService);
service = TestBed.inject(AppService);
preferencesService = TestBed.inject(UserPreferencesService);
});
it('should be ready if [withCredentials] mode is used', (done) => {
@ -152,6 +157,14 @@ describe('AppService', () => {
await expect(isReady).toEqual(true);
});
it('should set local storage prefix after login', () => {
spyOn(preferencesService, 'setStoragePrefix');
spyOn(auth, 'getUsername').and.returnValue('test-username');
auth.onLogin.next();
expect(preferencesService.setStoragePrefix).toHaveBeenCalledWith('test-username');
});
it('should reset search to defaults upon logout', async () => {
const resetToDefaults = spyOn(searchQueryBuilderService, 'resetToDefaults');
auth.onLogout.next(true);

View File

@ -98,6 +98,7 @@ export class AppService implements OnDestroy {
this.authenticationService.onLogin.subscribe(() => {
this.ready.next(true);
this.preferencesService.setStoragePrefix(this.authenticationService.getUsername());
});
this.authenticationService.onLogout.subscribe(() => {