Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
garrettlove8 opened this issue Apr 8, 2023 · 0 comments
Open

Comments

@garrettlove8
Copy link

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
  ..
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants