-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
Copy pathfirestore.spec.ts
39 lines (33 loc) · 1.32 KB
/
firestore.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { TestBed } from '@angular/core/testing';
import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
import { Firestore, connectFirestoreEmulator, getFirestore, provideFirestore } from '@angular/fire/firestore';
import { COMMON_CONFIG, firestoreEmulatorPort } from '../test-config';
import { rando } from '../utils';
describe('Firestore', () => {
let app: FirebaseApp;
let firestore: Firestore;
let providedFirestore: Firestore;
let appName: string;
describe('single injection', () => {
beforeEach(() => {
appName = rando();
TestBed.configureTestingModule({
providers: [
provideFirebaseApp(() => initializeApp(COMMON_CONFIG, appName)),
provideFirestore(() => {
providedFirestore = getFirestore(getApp(appName));
connectFirestoreEmulator(providedFirestore, 'localhost', firestoreEmulatorPort);
return providedFirestore;
}),
],
});
app = TestBed.inject(FirebaseApp);
firestore = TestBed.inject(Firestore);
});
it('should be injectable', () => {
expect(providedFirestore).toBeTruthy();
expect(firestore).toEqual(providedFirestore);
expect(firestore.app).toEqual(app);
});
});
});