我正在使用angularfire与Firestore交互。
this.items = this.afs.collection('formSubmissions', ref => ref.orderBy('createdAt', 'desc').limit(10)).valueChanges()
我还有一个带有间谍的模拟服务,以测试对该服务的函数调用。
var afSpy = jasmine.createSpyObj('AngularFirestore', ['collection', 'valueChanges', 'snapshotChanges', 'pipe', 'add', 'doc', 'settingsDoc']);
afSpy.collection.and.returnValue(afSpy);
afSpy.doc.and.returnValue(afSpy);
afSpy.settingsDoc.and.returnValue(afSpy);
afSpy.valueChanges.and.returnValue(of([]));
afSpy.snapshotChanges.and.returnValue(afSpy);
afSpy.pipe.and.returnValue(of([]))
3rd我创建了一个测试,以确保我的集合函数被调用,但是我也想确保我的orderBy和limit函数也被正确调用。我该怎么办?
it('should make call to fetch the collection with the correct parameters', () => {
component.ngOnInit();
expect(afSpy.collection).toHaveBeenCalled(); //<--This Passes just fine
expect('order by/limit clause').toHaveBeenCalled(); // <--how do I test this?
});