如何测试angularfire查询

时间:2019-03-06 15:38:32

标签: angular firebase angularfire2 angularfire

我正在使用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?

  });

0 个答案:

没有答案