fix login redirect

This commit is contained in:
2026-03-15 22:54:52 +01:00
parent 2406d41dcb
commit e3203d0c38
8 changed files with 110 additions and 28 deletions

View File

@@ -85,6 +85,7 @@ describe('UserSessionService', () => {
const updateSpy = jasmine.createSpy('update').and.resolveTo();
dbServiceSpy.doc.and.returnValue({update: updateSpy} as never);
runInFirebaseContextSpy.and.resolveTo({user: {uid: 'user-1'}});
authStateSubject.next({uid: 'user-1'});
await expectAsync(service.login('mail', 'secret')).toBeResolvedTo('user-1');
@@ -92,6 +93,23 @@ describe('UserSessionService', () => {
expect(updateSpy).toHaveBeenCalledWith({songUsage: {}});
});
it('should wait for auth state propagation before resolving login', async () => {
runInFirebaseContextSpy.and.resolveTo({user: {uid: 'user-1'}});
let resolved = false;
const loginPromise = service.login('mail', 'secret').then(result => {
resolved = true;
return result;
});
await Promise.resolve();
expect(resolved).toBeFalse();
authStateSubject.next({uid: 'user-1'});
await expectAsync(loginPromise).toBeResolvedTo('user-1');
});
it('should delegate logout and password reset to AngularFire auth APIs', async () => {
runInFirebaseContextSpy.and.resolveTo();