Open
Description
Tests against real (GCP production) Firestore will presumably be more accurate wrt to transactions, indices, and security rules.
To do this properly we will need to:
- Create a test GCP project to separate prod and test environments.
- Be able to set the GCP project with a flag or environment variable, and set it from the GitHub actions
- Namespace all collections so that tests can run in parallel without interfering with each other. The root collection somewhat obviously needs to namespaces, but so do any collections that are used in a
.collectionGroup()
query, likecustomElements
, so it's probably best to just make factories for all Firestore references and namespace them all. - Have a robust data cleanup script that runs after tests. This script will need to use the namespace used in the tests it's cleaning up after.