global filter

This commit is contained in:
2026-03-11 18:04:42 +01:00
parent c2bcac58b3
commit 196e8c80d8
25 changed files with 192 additions and 136 deletions

View File

@@ -7,11 +7,11 @@ describe('ConfigService', () => {
let service: ConfigService;
let dbServiceSpy: jasmine.SpyObj<DbService>;
beforeEach(() => {
beforeEach(async () => {
dbServiceSpy = jasmine.createSpyObj<DbService>('DbService', ['doc$']);
dbServiceSpy.doc$.and.returnValue(of({copyright: 'CCLI'}) as never);
void TestBed.configureTestingModule({
await TestBed.configureTestingModule({
providers: [{provide: DbService, useValue: dbServiceSpy}],
});

View File

@@ -8,13 +8,13 @@ describe('GlobalSettingsService', () => {
let dbServiceSpy: jasmine.SpyObj<DbService>;
let updateSpy: jasmine.Spy;
beforeEach(() => {
beforeEach(async () => {
updateSpy = jasmine.createSpy('update').and.resolveTo();
dbServiceSpy = jasmine.createSpyObj<DbService>('DbService', ['doc$', 'doc']);
dbServiceSpy.doc$.and.returnValue(of({churchName: 'ICF'}) as never);
dbServiceSpy.doc.and.returnValue({update: updateSpy} as never);
void TestBed.configureTestingModule({
await TestBed.configureTestingModule({
providers: [{provide: DbService, useValue: dbServiceSpy}],
});

View File

@@ -10,10 +10,10 @@ describe('UserSessionService', () => {
let dbServiceSpy: jasmine.SpyObj<DbService>;
let routerSpy: jasmine.SpyObj<Router>;
let authStateSubject: BehaviorSubject<unknown>;
let createAuthStateSpy: jasmine.Spy;
let createAuthStateSpy: jasmine.Spy<() => ReturnType<UserSessionService['createAuthState$']>>;
let runInFirebaseContextSpy: jasmine.Spy;
beforeEach(() => {
beforeEach(async () => {
authStateSubject = new BehaviorSubject<unknown>(null);
dbServiceSpy = jasmine.createSpyObj<DbService>('DbService', ['col$', 'doc$', 'doc']);
routerSpy = jasmine.createSpyObj<Router>('Router', ['navigateByUrl']);
@@ -34,9 +34,9 @@ describe('UserSessionService', () => {
} as never);
routerSpy.navigateByUrl.and.resolveTo(true);
createAuthStateSpy = spyOn<any>(UserSessionService.prototype, 'createAuthState$').and.returnValue(authStateSubject.asObservable() as never);
createAuthStateSpy = spyOn(UserSessionService.prototype, 'createAuthState$').and.returnValue(authStateSubject.asObservable() as never);
void TestBed.configureTestingModule({
await TestBed.configureTestingModule({
providers: [
{provide: DbService, useValue: dbServiceSpy},
{provide: Router, useValue: routerSpy},
@@ -45,7 +45,7 @@ describe('UserSessionService', () => {
});
service = TestBed.inject(UserSessionService);
runInFirebaseContextSpy = spyOn<any>(service, 'runInFirebaseContext');
runInFirebaseContextSpy = spyOn(service as UserSessionService & {runInFirebaseContext: (...args: unknown[]) => Promise<unknown>}, 'runInFirebaseContext');
});
it('should be created', () => {
@@ -63,9 +63,7 @@ describe('UserSessionService', () => {
it('should resolve the current user document from auth state', async () => {
authStateSubject.next({uid: 'user-1'});
await expectAsync(firstValueFrom(service.user$)).toBeResolvedTo(
jasmine.objectContaining({id: 'user-1', name: 'Benjamin'}) as never
);
await expectAsync(firstValueFrom(service.user$)).toBeResolvedTo(jasmine.objectContaining({id: 'user-1', name: 'Benjamin'}) as never);
});
it('should cache user lookups by id', async () => {

View File

@@ -13,7 +13,7 @@ describe('UserSongUsageService', () => {
let showDataServiceSpy: jasmine.SpyObj<ShowDataService>;
let showSongDataServiceSpy: jasmine.SpyObj<ShowSongDataService>;
beforeEach(() => {
beforeEach(async () => {
dbServiceSpy = jasmine.createSpyObj<DbService>('DbService', ['doc']);
sessionSpy = jasmine.createSpyObj<UserSessionService>('UserSessionService', ['update$'], {
user$: of({id: 'user-1', role: 'admin', songUsage: {}}) as never,
@@ -23,13 +23,18 @@ describe('UserSongUsageService', () => {
showSongDataServiceSpy = jasmine.createSpyObj<ShowSongDataService>('ShowSongDataService', ['list$']);
sessionSpy.update$.and.resolveTo();
showDataServiceSpy.listRaw$.and.returnValue(of([{id: 'show-1', owner: 'user-1'}, {id: 'show-2', owner: 'user-2'}] as never));
showDataServiceSpy.listRaw$.and.returnValue(
of([
{id: 'show-1', owner: 'user-1'},
{id: 'show-2', owner: 'user-2'},
] as never)
);
showSongDataServiceSpy.list$.and.callFake((showId: string) =>
of(showId === 'show-1' ? ([{songId: 'song-1'}, {songId: 'song-1'}, {songId: 'song-2'}] as never) : ([{songId: 'song-3'}] as never))
);
dbServiceSpy.doc.and.returnValue({update: jasmine.createSpy('update').and.resolveTo()} as never);
void TestBed.configureTestingModule({
await TestBed.configureTestingModule({
providers: [
{provide: DbService, useValue: dbServiceSpy},
{provide: UserSessionService, useValue: sessionSpy},

View File

@@ -9,7 +9,7 @@ describe('UserService', () => {
let sessionSpy: jasmine.SpyObj<UserSessionService>;
let songUsageSpy: jasmine.SpyObj<UserSongUsageService>;
beforeEach(() => {
beforeEach(async () => {
sessionSpy = jasmine.createSpyObj<UserSessionService>(
'UserSessionService',
['currentUser', 'getUserbyId', 'getUserbyId$', 'login', 'loggedIn$', 'list$', 'logout', 'update$', 'changePassword', 'createNewUser'],
@@ -35,7 +35,7 @@ describe('UserService', () => {
songUsageSpy.decSongCount.and.resolveTo();
songUsageSpy.rebuildSongUsage.and.resolveTo({usersProcessed: 1, showsProcessed: 2, showSongsProcessed: 3});
void TestBed.configureTestingModule({
await TestBed.configureTestingModule({
providers: [
{provide: UserSessionService, useValue: sessionSpy},
{provide: UserSongUsageService, useValue: songUsageSpy},