diff --git a/src/main.ts b/src/main.ts index 87685a3..66188d7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import {enableProdMode, importProvidersFrom, provideZoneChangeDetection} from '@angular/core'; +import {enableProdMode, importProvidersFrom, inject, provideZoneChangeDetection} from '@angular/core'; import {environment} from './environments/environment'; import {MAT_DATE_LOCALE} from '@angular/material/core'; @@ -8,10 +8,14 @@ import {AppRoutingModule} from './app/app-routing.module'; import {ServiceWorkerModule} from '@angular/service-worker'; import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; import {AppComponent} from './app/app.component'; -import {getApp, initializeApp, provideFirebaseApp} from '@angular/fire/app'; -import {initializeFirestore, persistentLocalCache, persistentMultipleTabManager, provideFirestore} from '@angular/fire/firestore'; -import {getAuth, provideAuth} from '@angular/fire/auth'; -import {getStorage, provideStorage} from '@angular/fire/storage'; +import {FirebaseApp, provideFirebaseApp} from '@angular/fire/app'; +import {provideFirestore} from '@angular/fire/firestore'; +import {provideAuth} from '@angular/fire/auth'; +import {provideStorage} from '@angular/fire/storage'; +import {initializeApp} from 'firebase/app'; +import {getAuth} from 'firebase/auth'; +import {getStorage} from 'firebase/storage'; +import {initializeFirestore, persistentLocalCache, persistentMultipleTabManager} from 'firebase/firestore'; import {UserService} from './app/services/user/user.service'; declare global { @@ -39,9 +43,13 @@ bootstrapApplication(AppComponent, { FontAwesomeModule ), provideFirebaseApp(() => initializeApp(environment.firebase)), - provideAuth(() => getAuth()), - provideFirestore(() => initializeFirestore(getApp(), {localCache: persistentLocalCache({tabManager: persistentMultipleTabManager()})})), - provideStorage(() => getStorage()), + provideAuth(() => getAuth(inject(FirebaseApp))), + provideFirestore(() => + initializeFirestore(inject(FirebaseApp), { + localCache: persistentLocalCache({tabManager: persistentMultipleTabManager()}), + }) + ), + provideStorage(() => getStorage(inject(FirebaseApp))), {provide: MAT_DATE_LOCALE, useValue: 'de-DE'}, provideAnimations(), ], diff --git a/src/test-vitest.ts b/src/test-vitest.ts index b34054f..bbe1198 100644 --- a/src/test-vitest.ts +++ b/src/test-vitest.ts @@ -7,11 +7,9 @@ import {ActivatedRoute, provideRouter} from '@angular/router'; import {BehaviorSubject, Observable, of} from 'rxjs'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; import {provideNativeDateAdapter} from '@angular/material/core'; -import {getApp, getApps, initializeApp, provideFirebaseApp} from '@angular/fire/app'; -import {getAuth, provideAuth} from '@angular/fire/auth'; -import {initializeFirestore, provideFirestore} from '@angular/fire/firestore'; -import {getStorage, provideStorage} from '@angular/fire/storage'; -import {environment} from './environments/environment'; +import {Auth} from '@angular/fire/auth'; +import {Firestore} from '@angular/fire/firestore'; +import {Storage} from '@angular/fire/storage'; import {DbService} from './app/services/db.service'; type TestingModuleDefinition = Parameters[0]; @@ -43,16 +41,14 @@ type MockFunction = ReturnType & { const routeParams$ = new BehaviorSubject>({}); const queryParams$ = new BehaviorSubject>({}); -const defaultFirebaseApp = getApps().length > 0 ? getApp() : initializeApp(environment.firebase); const defaultTestingProviders: TestingProviderList = [ provideNoopAnimations(), provideNativeDateAdapter(), provideRouter([]), - provideFirebaseApp(() => defaultFirebaseApp), - provideAuth(() => getAuth(defaultFirebaseApp)), - provideFirestore(() => initializeFirestore(defaultFirebaseApp, {})), - provideStorage(() => getStorage(defaultFirebaseApp)), + {provide: Auth, useValue: {}}, + {provide: Firestore, useValue: {}}, + {provide: Storage, useValue: {}}, { provide: ActivatedRoute, useValue: {