Я создал модульные тесты для приложения Ionic 4, которое использует AngularFirestore, но у меня нет успеха в создании макета пожарного магазина, кто-нибудь знает, как его издеваться?
Я уже попробовал spyOn(firestore.doc.prototype, 'set')
Но возвращает эту ошибку <spyOn> : set() method does not exist
[...]
angularFirestoreStub = {
doc() {
return {
set() {
return Promise.resolve();
},
};
},
};
TestBed.configureTestingModule({
providers: [
UserService,
{ provide: AngularFireAuth, useValue: angularFireAuthStub },
{ provide: AngularFirestore, useValue: angularFirestoreStub }
],
}).compileComponents();
beforeEach(() => {
service = TestBed.get(UserService);
fireAuth = TestBed.get(AngularFireAuth);
firestore = TestBed.get(AngularFirestore);
});
[...]
it('deve salvar um perfil de usuário no Firestore', () => {
spyOn(firestore, 'doc').and.callThrough();
spyOn(firestore.doc.prototype, 'set');
service.createProfile('Wk4CvT5WpPPaQBgDTiPbY3MwED52', 'userName', 'userLastName')
.then(() => {
expect(firestore.doc).toHaveBeenCalledWith('users/Wk4CvT5WpPPaQBgDTiPbY3MwED52');
expect(angularFireAuthStub.doc.set).toHaveBeenCalledWith({
firstName: 'userName', lastName: 'userLastName'
});
});
});
Я надеюсь, что кто-то может помочь мне с этим.