Firebase单元测试onCreate与Firestore数据库的触发函数

时间:2019-05-20 12:04:06

标签: javascript firebase google-cloud-firestore google-cloud-functions chai

我正在遵循here中的示例,但我想使用 admin.firestore()而不是 admin.database()。我已经相应地修改了该函数,但是我不断收到错误消息:

  

错误:超时超过2000毫秒。对于异步测试和挂钩,请确保调用了“ done()”;如果返回承诺,请确保其解决。 (/ Users /../ functions / test / test.online.js)

在firestore数据库中,我有一个表单列表。基本上,当创建表单时,我有一个onCreate触发函数,该函数将submissionDate附加到该函数。我想对其进行单元测试。在数据库中正确创建了表单,失败的行是

  

返回admin.firestore()。collection(formsCollection).doc(电子邮件).....

代码如下:

    describe('formAttachDate', () => {
    it('should attach current date to submissionDate when form is created', () => {
      const snap = test.firestore.makeDocumentSnapshot(
          {storageID: "abc", fields:[]}, TEST_FORM_REFERENCE
      );
      const wrapped = test.wrap(myFunctions.onCreateFormSetDate);
      // Call the wrapped function with the snapshot you constructed.
      return wrapped(snap, {params: {"email" : email, "type": type, "documentId": documentId}}).then((docSnap) => {
        return admin.firestore().collection(formsCollection).doc(email).collection(type).doc(documentId).get().then((createdSnap) => { 
           assert.notEmpty(createdSnap.child(`${TEST_FORM_REFERENCE}/submissionDate`).val());
        });
      });
    })
});

我在做什么错?谢谢

0 个答案:

没有答案