firebase / firebase-functions-test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[FR] firebase-functions-test multiple snapshots in wrapped functions

garrettlove8 opened this issue · comments

Is your feature request related to a problem? Please describe.
I'm using firebase-functions-test package to locally mock firestore data and test non-http functions. However, on of my functions works with data in multiple collections, which based on the docs and articles I've found doesn't seem to be supported.

Describe the solution you'd like
When calling my wrapped function(s), I'd like to be able to pass in multiple document snapshots.

Describe alternatives you've considered
If I am to continue using the firebase-functions-test package, I could consider creating a chain of background functions that each work with documents from a single collection. I haven't seen anything saying whether that's a good approach so for all I know that might actually be the preferred way to do this, though it feels weird to me.

Another option would be to not use firebase-functions-test package and instead run my tests against the emulator. I had been doing this before but wanted to move away from that.

Additional context
Here is a code sample of what I'm looking to do, not sure that it's valid Typescript but hopefully it demonstrate the goal.

const snap1 = test.firestore.makeDocumentSnapshot({
  ...
}, "users/1");

const snap2 = test.firestore.makeDocumentSnapshot({
  ...
}, "users/2");

await wrapped([snap1, snap2], { // <-- Notice the array of snapshots
  ..
});